Python MySQL Join
ဇယားနှစ်ခု သို့မဟုတ် ထို့ထက်ပို၍ ပူးပေါင်းပါ။
JOIN ကြေညာချက်ကို အသုံးပြု၍ ၎င်းတို့ကြားရှိ ဆက်စပ်ကော်လံတစ်ခုအပေါ် အခြေခံ၍ ဇယားနှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော အတန်းများမှ အတန်းများကို ပေါင်းစပ်နိုင်သည်။
သင့်တွင် "အသုံးပြုသူများ" ဇယားနှင့် "ထုတ်ကုန်များ" ဇယားတစ်ခုရှိသည်ဟု သုံးသပ်ကြည့်ပါ-
အသုံးပြုသူများ
{ id: 1, name: 'John', fav: 154},
{ id:
2, name: 'Peter', fav: 154},
{ id: 3, name: 'Amy', fav: 155},
{ id: 4, name: 'Hannah', fav:},
{ id: 5, name: 'Michael', fav:}
ထုတ်ကုန်များ
{ id: 154, name:
'Chocolate Heaven' },
{ id: 155, name: 'Tasty Lemons' },
{
id: 156, name: 'Vanilla Dreams' }
ဤဇယားနှစ်ခုကို အသုံးပြုသူများ၏ fav
အကွက်နှင့် ထုတ်ကုန်များ၏
id
အကွက်ကို အသုံးပြု၍ ပေါင်းစပ်နိုင်သည်။
ဥပမာ
အသုံးပြုသူများ အကြိုက်ဆုံး ထုတ်ကုန်အမည်ကို ကြည့်ရှုရန် သုံးစွဲသူများနှင့် ထုတ်ကုန်များနှင့် ချိတ်ဆက်ပါ-
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT \
users.name AS user,
\
products.name AS favorite \
FROM users \
INNER JOIN
products ON users.fav = products.id"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
မှတ်ချက်- INNER JOIN အစား JOIN ကိုသုံးနိုင်သည်။ သူတို့နှစ်ယောက်လုံးက တူညီတဲ့ရလဒ်ကို ပေးပါလိမ့်မယ်။
ချန်ထားခဲ့ပါ။
အထက်ဖော်ပြပါ ဥပမာတွင် ဟန်နာနှင့် မိုက်ကယ်တို့ကို ရလဒ်မှ ဖယ်ထုတ်ထားသည်၊ ဆိုလိုသည်မှာ INNER JOIN သည် ပွဲစဉ်ရှိနေသည့် မှတ်တမ်းများကိုသာ ပြသသောကြောင့် ဖြစ်သည်။
၎င်းတို့တွင် အကြိုက်ဆုံး ထုတ်ကုန်တစ်ခု မရှိသေးသော်လည်း သုံးစွဲသူအားလုံးကို ပြသလိုပါက LEFT JOIN ထုတ်ပြန်ချက်ကို အသုံးပြုပါ။
ဥပမာ
အသုံးပြုသူအားလုံးနှင့် ၎င်းတို့၏ စိတ်ကြိုက်ထုတ်ကုန်ကို ရွေးပါ-
sql = "SELECT \
users.name AS user,
\
products.name AS favorite \
FROM users \
LEFT JOIN
products ON users.fav = products.id"
ညာဘက် Join
ထုတ်ကုန်အားလုံးကို ပြန်ပို့လိုပါက၊ ၎င်းတို့ကို အနှစ်သက်ဆုံးအဖြစ် ရရှိထားသည့် အသုံးပြုသူများ၊ အသုံးပြုသူမရှိလျှင် ၎င်းတို့ကို ၎င်းတို့၏ စိတ်ကြိုက်အဖြစ် ရရှိနိုင်သော်လည်း၊ RIGHT JOIN ကြေညာချက်ကို အသုံးပြုပါ-
ဥပမာ
ထုတ်ကုန်အားလုံးကို ရွေးချယ်ပါ၊ နှင့် ၎င်းတို့ကို ၎င်းတို့၏ စိတ်ကြိုက်အဖြစ် ရရှိထားသော အသုံးပြုသူ(များ)
sql = "SELECT \
users.name AS user,
\
products.name AS favorite \
FROM users \
RIGHT JOIN
products ON users.fav = products.id"
မှတ်ချက်- အကြိုက်ဆုံးထုတ်ကုန်မရှိသော Hannah နှင့် Michael တို့သည် ရလဒ်တွင်မပါဝင်ပါ။