MySQL CROSS JOIN
MySQL CROSS JOIN
CROSS JOIN bandi ikki yoki undan ortiq jadvallarning dekart mahsulotini qaytaradi (birinchi jadvaldagi har bir qatorni ikkinchi jadvalning har bir qatori bilan birlashtiradi).
Eslatma: Shunday qilib, agar birinchi jadvalda 100 qator, ikkinchi jadvalda esa 500 qator bo‘lsa, natija to‘plami 100x500 qator bo‘ladi. Shuni yodda tutingki, CROSS JOIN juda katta natijalar to‘plamini qaytarishi mumkin!

CROSS JOIN sintaksisi
SELECT column_name(s)
FROM table1
CROSS JOIN table2;Demo ma’lumotlar bazasi
Quyida "Mijozlar" jadvalidan tanlov mavjud:
| Mijoz ID | Mijoz nomi | Kontakt nomi | Manzil | Shahar | Pochta kodi | Mamlakat |
|---|---|---|---|---|---|---|
| 1 |
Alfreds Futterkiste | Mariya Anders | Obere ko‘chasi. 57 | Berlin | 12209 | Germaniya |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Konstitutsiya 2222 | Meksika D.F. | 05021 | Meksika |
| 3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Meksika D.F. | 05023 | Meksika |
Va "Orders" jadvalidan tanlov:
| 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 misollari
Quyidagi SQL "Customers" va "Orders" jadvallarining Dekart ko‘paytmasini qaytaradi:
Misol
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders;
O‘zingiz sinab ko‘ring »
Agar siz WHERE bandini qo‘shsangiz (1-jadval va 2-jadval o‘zaro bog‘liq bo‘lsa), CROSS JOIN INNER JOIN bandi bilan bir xil natija beradi:
Misol
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders
WHERE Customers.CustomerID=Orders.CustomerID;
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
