Kamis, 01 Februari 2018

OPERATOR LOGIKA AND, OR, NOT DAN KLAUSA ORDER BY

SQL Operator Logika
Ada tiga Operator Logika yaitu AND, OR, dan NOT. Operator ini membandingkan dua kondisi pada suatu waktu untuk menentukan apakah berturut-turut dapat dipilih untuk output. Ketika mengambil data menggunakan pernyataan SELECT, Anda dapat menggunakan operator logika dalam klausa WHERE, yang memungkinkan Anda untuk menggabungkan lebih dari satu kondisi.
“ATAU” Operator Logical:
Jika Anda ingin memilih baris yang memenuhi setidaknya satu dari kondisi yang diberikan, Anda dapat menggunakan operator logis, OR.
Sebagai contoh: jika Anda ingin mencari nama-nama siswa yang belajar baik Matematika atau Sains, query akan seperti,
SELECT first_name, last_name, subject FROM student_details WHERE subject = ‘Maths’ OR subject = ‘Science’
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     subject
————-     ————-     ———-
Anajali     Bhagwat     Maths
Shekar     Gowda     Maths
Rahul     Sharma     Science
Stephen     Fleming     Science
Tabel berikut menggambarkan bagaimana logika “OR” operator memilih berturut-turut.
“DAN” Operator Logical:
Jika Anda ingin memilih baris yang harus memenuhi semua kondisi yang diberikan, Anda dapat menggunakan operator logis, DAN.
Untuk Contoh: Untuk menemukan nama-nama siswa antara usia 10 sampai 15 tahun, query akan seperti:
SELECT first_name, last_name, age FROM student_details WHERE age >= 10 AND age <= 15;
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     age
————-     ————-     ——
Rahul            Sharma         10
Anajali          Bhagwat       12
Shekar          Gowda          15
Tabel berikut menggambarkan bagaimana logika “AND” operator memilih berturut-turut.
“TIDAK” Operator Logical:
Jika Anda ingin mencari baris yang tidak memenuhi kondisi, Anda dapat menggunakan operator logis, NOT. TIDAK menghasilkan kebalikan dari kondisi. Artinya, jika kondisi dipenuhi, maka baris tidak dikembalikan.
Sebagai contoh: Jika Anda ingin mengetahui nama-nama siswa yang tidak bermain sepak bola, query akan seperti:
SELECT first_name, last_name, games FROM student_details WHERE NOT games = ‘Football’
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     games
—————-     —————-     ———–
Rahul     Sharma     Cricket
Stephen     Fleming     Cricket
Shekar     Gowda     Badminton
Priya     Chandra     Chess
Tabel berikut menjelaskan cara logis “TIDAK” operator memilih berturut-turut.
Bersarang Operator Logika:
Anda dapat menggunakan beberapa operator logika dalam pernyataan SQL. Ketika Anda menggabungkan operator logis dalam sebuah pernyataan SELECT, urutan pernyataan diproses adalah
1) NOT
2) DAN
3) OR
Sebagai contoh: Jika Anda ingin memilih nama-nama siswa yang berusia antara 10 dan 15 tahun, atau mereka yang tidak bermain sepak bola,
SELECT statement would be SELECT first_name, last_name, age, games FROM student_details WHERE age >= 10 AND age <= 15 OR NOT games = ‘Football’
Outputnya akan menjadi sesuatu seperti,
first_name     last_name     age     games
————-     ————-     ——–     ————
Rahul     Sharma     10     Cricket
Priya     Chandra     15     Chess
Dalam hal ini, filter bekerja sebagai berikut:
Kondisi 1: Semua siswa Anda tidak bermain sepakbola yang dipilih.
Kondisi 2: Semua siswa yang berusia antara 10 dan 15 yang dipilih.
Kondisi 3: Akhirnya hasilnya adalah, baris yang memenuhi minimal salah satu dari persyaratan tersebut di atas kembali.
SQL ORDER BY
ORDER BY klausa digunakan dalam sebuah pernyataan SELECT untuk mengurutkan hasil baik dalam menaik atau menurun. Oracle macam hasil query dalam urutan secara default.
Sintaks untuk menggunakan SQL ORDER BY klausa untuk mengurutkan data adalah:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1 [, column2, .. columnN] [DESC]];

Tabel [karyawan]:
idnamedeptagesalarylocation
100RameshElectrical2425000Bangalore
101HrithikElectronics2835000Bangalore
102HarshaAeronautics2835000Mysore
103SoumyaElectronics2220000Bangalore
104PriyaInfoTech2530000Mangalore
Untuk Contoh: Jika Anda ingin mengurutkan tabel karyawan dengan gaji karyawan, query sql akan.
SELECT name, salary FROM employee ORDER BY salary;
Outputnya akan seperti
name     salary
———-     ———-
Soumya     20000
Ramesh     25000
Priya        30000
Hrithik     35000
Harsha     35000
Permintaan pertama macam hasil sesuai dengan nama dan kemudian menampilkannya.
Anda juga dapat menggunakan lebih dari satu kolom pada klausa ORDER BY.
Jika Anda ingin mengurutkan tabel karyawan dengan nama dan gaji, query akan seperti,
SELECT name, salary FROM employee ORDER BY name, salary;
Outputnya akan seperti:
name     salary
————-     ————-
Soumya     20000
Ramesh     25000
Priya        30000
Harsha     35000
Hrithik     35000
CATATAN:Kolom ditentukan dalam klausa ORDER BY harus menjadi salah satu kolom yang dipilih dalam daftar kolom SELECT.
Anda dapat mewakili kolom dalam klausa ORDER BY dengan menentukan posisi kolom dalam daftar SELECT, alih-alih menulis nama kolom.
Pertanyaan di atas juga dapat ditulis sebagai diberikan di bawah,
SELECT name, salary FROM employee ORDER BY 1, 2;
Secara default, ORDER BY Clause macam data dalam urutan menaik. Jika Anda ingin mengurutkan data dalam urutan, Anda harus secara eksplisit menentukan itu seperti yang ditunjukkan di bawah ini.
SELECT name, salary FROM employee ORDER BY name, salary DESC;
Pertanyaan di atas macam hanya kolom ‘gaji’ dalam urutan dan kolom ‘nama’ by order ascending.
Jika Anda ingin memilih kedua nama dan gaji dalam urutan, query akan seperti yang diberikan di bawah ini.
SELECT name, salary FROM employee ORDER BY name DESC, salary DESC;
Cara menggunakan ekspresi dalam ORDER BY Clause?
Ekspresi dalam ORDER BY klausa dari pernyataan SELECT.
Sebagai contoh: Jika Anda ingin menampilkan nama karyawan, gaji saat ini, dan peningkatan 20% pada gaji hanya para karyawan untuk siapa persentase kenaikan gaji lebih besar dari 30000 dan dalam urutan kenaikan harga, pernyataan SELECT dapat ditulis sebagai ditunjukkan di bawah ini
SELECT name, salary, salary*1.2 AS new_salary FROM employee WHERE salary*1.2 > 30000 ORDER BY new_salary DESC;
Output untuk pertanyaan di atas adalah sebagai berikut.
name           salary           new_salary
———-     ———-     ————-
Hrithik     35000     37000
Harsha     35000     37000
Priya        30000     36000

Source : http://9webstyle.blogspot.co.id/2014/10/sql-order-by.html
http://9webstyle.blogspot.co.id/2014/10/sql-operator-logika.html

Tidak ada komentar:

Posting Komentar