MySQL CROSS JOIN


ULASHISH

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!

MySQL CROSS JOIN

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!