MySQL CROSS JOIN Keyword
SQL CROSS JOIN သော့ချက်စာလုံး
သော့ချက်စကားလုံး သည် CROSS JOIN
ဇယားနှစ်ခုစလုံးမှ မှတ်တမ်းအားလုံးကို ပြန်ပေးသည် (table1 နှင့် table2)။
CROSS JOIN Syntax
SELECT column_name(s)
FROM table1
CROSS JOIN table2;
မှတ်ချက်- CROSS JOIN
အလွန်ကြီးမားသော ရလဒ်-အစုံများကို ပြန်ပေးနိုင်သည် ။
ဒီမိုဒေတာဘေ့စ်
ဤသင်ခန်းစာတွင် ကျွန်ုပ်တို့သည် နာမည်ကြီး Northwind နမူနာဒေတာဘေ့စ်ကို အသုံးပြုပါမည်။
အောက်တွင်ဖော်ပြထားသည်မှာ "ဖောက်သည်များ" ဇယားမှရွေးချယ်မှုဖြစ်သည်-
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 |
နှင့် "အော်ဒါများ" ဇယားမှ ရွေးချယ်မှု-
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 နမူနာ
အောက်ပါ SQL ကြေညာချက်သည် သုံးစွဲသူများအားလုံးနှင့် မှာယူမှုအားလုံးကို ရွေးချယ်သည်-
ဥပမာ
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders;
မှတ်ချက်- သော့ချက် CROSS JOIN
စကားလုံးသည် အခြားဇယားနှင့် ကိုက်ညီသည်ဖြစ်စေ မတူသည်ဖြစ်စေ ဇယားနှစ်ခုလုံးမှ ကိုက်ညီသောမှတ်တမ်းအားလုံးကို ပြန်ပေးသည်။ ထို့ကြောင့်၊ "အော်ဒါများ" တွင် ကိုက်ညီမှုမရှိသော "ဖောက်သည်များ" တွင် အတန်းများရှိပါက သို့မဟုတ် "ဖောက်သည်များ" တွင် ကိုက်ညီမှုမရှိသော "အမှာစာများ" တွင် အတန်းများရှိပါက၊ ထိုအတန်းများကိုလည်း စာရင်းပြုစုမည်ဖြစ်သည်။
အကယ်၍ သင်သည် WHERE
clause တစ်ခုကို ထည့်ပါက (ဇယား 1 နှင့် table2 တွင် ဆက်နွယ်မှုရှိလျှင်)၊ ၎င်းသည် clause CROSS JOIN
ကဲ့သို့ တူညီသောရလဒ်ကို ထုတ်ပေးလိမ့်မည် -INNER JOIN
ဥပမာ
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
CROSS JOIN Orders
WHERE Customers.CustomerID=Orders.CustomerID;