Joins SQL
Klausa JOIN digunakan untuk menggabungkan baris dari dua atau lebih tabel, berdasarkan kolom terkait di antara mereka.
Pertama kita lihat pilihan dari tabel “Orders”:
IdOrder | IdCustomer | TanggalPesan |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Kemudian, lihat pilihan dari tabel “Customers”:
IdCustomer | NamaCustomer | NamaKontak | Negara |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
Perhatikan di kolom “IdCustomer” di tabel “Orders” mengacu pada “IdCustomer” di tabel “Customer”. Hubungan antara dua tabel di atas adalah kolom “IdCustomer”.
Kemudian, kita dapat membuat pernyataan SQL berikut (yang berisi INNER JOIN), yang memilih record yang memiliki nilai yang cocok di kedua tabel:
Contoh
SELECT Orders.IdOrder, Customers.NamaCustomer, Orders.TanggalPesan FROM Orders INNER JOIN Customers ON Orders.IdCustomer=Customers.IdCustomer;
dan itu akan menghasilkan sesuatu seperti ini:
IdOrder | NamaCustomer | TanggalPesan |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
Jenis SQL JOIN
Berikut adalah berbagai jenis JOIN di SQL:
- (INNER) JOIN: Mengembalikan rekaman yang memiliki nilai yang cocok di kedua tabel
- LEFT (OUTER) JOIN: Mengembalikan semua catatan dari tabel kiri, dan catatan yang cocok dari tabel kanan
- RIGHT (OUTER) JOIN: Mengembalikan semua record dari tabel kanan, dan record yang cocok dari tabel kiri
- FULL (OUTER) JOIN: Mengembalikan semua record ketika ada kecocokan di tabel kiri atau kanan