Reading 6 - Query (Part 2)
Reading 6 - Query (Part 2)
CONTOH DATA
1. CUSTOMERS
2. ORDERS
1
INNER JOIN
INNER JOIN membuat tabel hasil baru dengan menggabungkan nilai kolom dari dua tabel (tabel1
dan tabel2). Kueri membandingkan setiap baris tabel1 dengan setiap baris tabel2 untuk
menemukan semua pasangan baris yang memenuhi predikat gabungan. Ketika predikat gabungan
terpenuhi, nilai kolom untuk setiap pasangan baris A dan B yang cocok digabungkan menghasilkan
suatu row.
Syntax
Query
Hasil
Penjelasan
2
Menghasilkan 4 row karena ID yang cocok diantara table customers dan orders ada 4 row yaitu ID 3
sebanyak 2 row dan 2 dan 4 sebanyak 1 row untuk masing masing.
3
FULL OUTER JOIN
SQL FULL JOIN menggabungkan hasil gabungan luar kiri dan kanan. Tabel yang digabungkan akan
berisi semua catatan dari kedua tabel dan mengisi NULL untuk kecocokan yang hilang di kedua sisi.
Syntax
Query
Hasil
Penjelasan
4
Menghasilkan 12 row karena mengembalikan nilai yang ada pada table customers sebanyak 7 row
dan table orders sebanyak 4 row dengan ID 3 yang terdiri dari 2 row sehingga 7 + 4 + 1 = 12 row.
5
LEFT JOIN
SQL LEFT JOIN mengembalikan semua baris dari tabel kiri, bahkan jika tidak ada kecocokan di tabel
kanan. Ini berarti bahwa jika klausa ON cocok dengan 0 (nol) record di tabel kanan; gabungan masih
akan mengembalikan satu baris dalam hasil, tetapi dengan NULL di setiap kolom dari tabel kanan.
Ini berarti bahwa gabungan kiri mengembalikan semua nilai dari tabel kiri, ditambah nilai yang
cocok dari tabel kanan atau NULL jika tidak ada predikat gabungan yang cocok.
Syntax
Query
6
Hasil
Penjelasan
Akan menghasilkan 8 row karena ada 7 ID dari table customers yang pasti akan diambil semua,
dengan tambahan ID 3 yang match di 2 row di table orders sehingga total ada 8 row.
7
RIGHT JOIN
SQL RIGHT JOIN mengembalikan semua baris dari tabel kanan, bahkan jika tidak ada kecocokan di
tabel kiri. Ini berarti bahwa jika klausa ON cocok dengan 0 (nol) record di tabel kiri; gabungan masih
akan mengembalikan satu baris dalam hasil, tetapi dengan NULL di setiap kolom dari tabel kiri.
Ini berarti bahwa gabungan kanan mengembalikan semua nilai dari tabel kanan, ditambah nilai yang
cocok dari tabel kiri atau NULL jika tidak ada predikat gabungan yang cocok.
Syntax
Query
Hasil
Penjelasan
8
Menghasilkan 4 row sesuai dengan jumlah row pada table orders, tidak ada penambahan row
karena di table customers untuk masing masing ID 3, 2, dan 4 hanya ada 1 row.
9
GROUP BY
GROUP BY digunakan bersama dengan pernyataan SELECT untuk mengatur data yang identik ke
dalam grup. Klausa GROUP BY ini mengikuti klausa WHERE dalam pernyataan SELECT dan
mendahului klausa ORDER BY.
Syntax
Query
Hasil
Penjelasan
Menghasilkan 7 row karena column name pada table customers unique untuk 7 nama. Kemudian
menjumlahkan salary nya untuk masing masing nama tersebut.
10
HAVING CLAUSE
HAVING CLAUSE memungkinkan Anda menentukan kondisi yang memfilter hasil grup mana yang
muncul dalam hasil. Klausa WHERE menempatkan kondisi pada kolom yang dipilih, sedangkan
klausa HAVING menempatkan kondisi pada grup yang dibuat oleh klausa GROUP BY.
Syntax
Query
Hasil
Penjelasan
Menghasilkan 1 row karena group by disitu menggunakan age, dimana age yang memenuhi kondisi
>=2 adalah age = 25 yang dimiliki oleh Khilan dan Chaitali. Kemudian query akan menghasilkan salah
satu dari nama tersebut.
11
WHERE CLAUSE
WHERE digunakan untuk menentukan kondisi saat mengambil data dari satu tabel atau dengan
bergabung dengan beberapa tabel. Jika kondisi yang diberikan terpenuhi, maka hanya itu yang
mengembalikan nilai tertentu dari tabel. Anda harus menggunakan klausa WHERE untuk memfilter
catatan dan hanya mengambil catatan yang diperlukan. Klausa WHERE tidak hanya digunakan
dalam pernyataan SELECT, tetapi juga digunakan dalam pernyataan UPDATE, DELETE.
Syntax
Query
Hasil
Penjelasan
Menghasilkan 4 row karena hanya 4 ID tersebut yang memenuhi kriteria salary lebih besar dari
2000.
12
LIKE CLAUSE
Klausa SQL LIKE digunakan untuk membandingkan nilai dengan nilai serupa menggunakan
operator wildcard. Ada dua wildcard yang digunakan bersama dengan operator LIKE.
Tanda persen mewakili nol, satu atau beberapa karakter. Garis bawah mewakili satu angka atau
karakter. Simbol-simbol ini dapat digunakan dalam kombinasi.
Syntax
Query
Hasil
13
Penjelasan
Akan menghasilkan 2 row karena 2 row tersebut memenuhi kriteria salary LIKE 200% artinya
diawali dengan 200.
14
AND & OR QUERY
Operator SQL AND & OR digunakan untuk menggabungkan beberapa kondisi untuk mempersempit
data dalam pernyataan SQL. Kedua operator ini disebut sebagai operator penghubung. Operator ini
menyediakan sarana untuk membuat beberapa perbandingan dengan operator yang berbeda
dalam pernyataan SQL yang sama.
1. AND Operator
Operator AND memungkinkan adanya beberapa kondisi dalam klausa WHERE pernyataan
SQL.
a. Syntax
b. Query
c. Hasil
d. Penjelasan
Menghasilkan 2 row karena kondisi pertama dicari yang salary nya lebih besar dari
2000 yaitu ada 6 row, kemudian ada kondisi dan age kurang dari 25 sehingga
menambah seleksi dari 6 row tersebut yang masuk ke kriteria kurang dari 25 tahun
ada 2 nama yaitu Komal dan Muffy.
15
2. OR Operator
Operator OR digunakan untuk menggabungkan beberapa kondisi dalam klausa WHERE
pernyataan SQL.
a. Syntax
b. Query
c. Hasil
d. Penjelasan
Menghasilkan 5 row karena Ramesh salary nya tidak lebih dari 2000 atau umurnya
tidak kurang dari 25. Begitupun untuk Khilan, tidak memenuhi salah satu dari
kriteria di query
16
SUBQUERY
Subquery atau Inner query atau kueri bersarang adalah kueri dalam kueri SQL lain dan disematkan
di dalam klausa WHERE. Subquery digunakan untuk mengembalikan data yang akan digunakan
dalam query utama sebagai syarat untuk lebih membatasi data yang akan diambil. Subquery dapat
digunakan dengan pernyataan SELECT, INSERT, UPDATE, dan DELETE bersama dengan operator
seperti =, <, >, >=, <=, IN, BETWEEN, dll.
Syntax
17
Query
Hasil
Penjelasan
Menghasilkan 3 row karena customer dengan salary lebih besar dari 4500 ada 3 ID yaitu 4, 5, dan 7.
Kemudian ID ini menjadi filter pada query di atasnya sehingga menghasilkan 3 row.
18
Sumber:
1. https://www.tutorialspoint.com/sql/sql-using-joins.htm
19