MySQL CROSS JOIN Kata Kunci
Kata Kunci SQL CROSS JOIN
Kata CROSS JOIN
kunci mengembalikan semua catatan dari kedua tabel (tabel1 dan tabel2).
Sintaks CROSS JOIN
SELECT column_name(s)
FROM table1
CROSS JOIN table2;
Catatan: CROSS JOIN
berpotensi mengembalikan kumpulan hasil yang sangat besar!
Basis Data Demo
Dalam tutorial ini kita akan menggunakan database sampel Northwind yang terkenal.
Di bawah ini adalah pilihan dari tabel "Pelanggan":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
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 "Pesanan":
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
MySQL CROSS JOIN Contoh
Pernyataan SQL berikut memilih semua pelanggan, dan semua pesanan:
Contoh
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders;
Catatan: Kata CROSS JOIN
kunci mengembalikan semua record yang cocok dari kedua tabel apakah tabel lainnya cocok atau tidak. Jadi, jika ada baris di "Pelanggan" yang tidak cocok di "Pesanan", atau jika ada baris di "Pesanan" yang tidak cocok di "Pelanggan", baris itu juga akan dicantumkan.
Jika Anda menambahkan WHERE
klausa (jika table1 dan table2 memiliki hubungan), CROSS JOIN
akan menghasilkan hasil yang sama dengan INNER JOIN
klausa:
Contoh
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders
WHERE Customers.CustomerID=Orders.CustomerID;