Section Artikel
Kata kunci FULL OUTER JOIN digunakan untuk mengembalikan semua rekaman ketika ada kecocokan dalam catatan tabel kiri (tabel1) atau kanan (tabel2).
Catatan: FULL OUTER JOIN berpotensi mengembalikan set hasil yang sangat besar!
Tip: FULL OUTER JOIN dan FULL JOIN adalah sama.
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE condition;
Dalam tutorial ini kita akan menggunakan database contoh Northwind yang terkenal.
Di bawah ini adalah pilihan dari tabel “Customers”:
IdCustomer | NamaCustomer | NamaKontak | Alamat | Kota | KodePos | Negara |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Dan pilihan dari tabel “Orders”:
IdOrder | IdCustomer | IdEmployee | TanggalPesan | IdShipper |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
Pernyataan SQL berikut memilih semua customer dan semua order:
SELECT Customers.NamaCustomer, Orders.IdOrder FROM Customers FULL OUTER JOIN Orders ON Customers.IdCustomer=Orders.IdCustomer ORDER BY Customers.NamaCustomer;
Pilihan dari kumpulan hasil mungkin terlihat seperti ini:
NamaCustomer | IdOrder |
---|---|
Alfreds Futterkiste | Null |
Ana Trujillo Emparedados y helados | 10308 |
Antonio Moreno Taquería | 10365 |
Catatan: Kata kunci FULL OUTER JOIN dapat mengembalikan semua rekaman yang cocok dari kedua tabel apakah tabel lain cocok atau tidak. Jadi, jika ada baris di “Customers” yang tidak cocok dengan “Order”, atau jika ada baris di “Orders” yang tidak cocok di “Customers”, baris tersebut juga akan dicantumkan.