PHP တွင် ဆက်စပ်ဇယားများမှ အချက်အလက်များ ရယူခြင်း
အသုံးပြုသူအားလုံးကို ၎င်းတို့၏မြို့များနှင့်အတူ ထုတ်ယူပေးမည့် query တစ်ခု ရေးကြည့်ပါစို့။
ထိုသို့ပြုလုပ်ရန် LEFT JOIN command လိုအပ်ပါမည်။
၎င်း၏ syntax သည် အောက်ပါအတိုင်းဖြစ်သည်။
SELECT fields FROM table_name
LEFT JOIN related_table_name ON join_condition
WHERE selection_condition
ဤ command ၏ syntax အစိတ်အပိုင်းများကို သီးသန့်ခွဲ၍ ကြည့်ကြပါစို့။
Fields
ဇယားများစွာမှ ရွေးချယ်မှုပြုလုပ်သောကြောင့် * ဖြင့် field အားလုံးကို ရွေးချယ်ခြင်းသည်
အလုပ်မလုပ်ပါ။ အောက်ပါ query သည် အဓိကဇယားမှ field များကိုသာ ရွေးချယ်မည်ဖြစ်ပြီး ဆက်စပ်ဇယားမှ မဟုတ်ပါ။
SELECT *
ဇယားအားလုံးမှ အချက်အလက်များ ရွေးချယ်ရန် * မတိုင်မီ ဇယားအမည်ကို ရွေးချယ်ရန်အတွက် သတ်မှတ်ပေးရပါမည်။
SELECT users.*, cities.*
သို့မဟုတ် ကျွန်ုပ်တို့လိုအပ်သော field များကို ၎င်းတို့ရှေ့တွင် ဇယားအမည်ဖြင့် သတ်မှတ်ကာ စာရင်းပြုစုနိုင်သည်။
SELECT users.name, cities.name
ဤနည်းလမ်းနှစ်ခုတွင် ပြဿနာရှိပါသည်။ ဇယားများရှိ field များတွင် အမည်တူနေပါက PHP array ထဲတွင် အမည်ပဋိပက္ခဖြစ်ပြီး field တစ်ခုသာ အောင်မြင်ကာ ဒုတိယ field ပါဝင်မည်မဟုတ်ပါ။
ဤပြဿနာကိုဖြေရှင်းရန် ပဋိပက္ခဖြစ်နေသောအမည်များကို as command ဖြင့် ပြန်လည်အမည်ပေးရပါမည်။
SELECT users.name, cities.name as city_name
Join Condition
ON command ပြီးနောက် ဆက်သွယ်မှုပြုလုပ်သော ဇယားနှစ်ခုမှ field များကို သတ်မှတ်ပေးရပါမည်။
ကျွန်ုပ်တို့၏ကိစ္စတွင် ၎င်းသည် cities ဇယားမှ id field နှင့် users ဇယားမှ city_id field ဖြစ်သည်။
ON cities.id=users.city_id
Query
အဆုံး၌ အသုံးပြုသူများကို ၎င်းတို့၏မြို့များနှင့်အတူ ထုတ်ယူပေးမည့် query သည် အောက်ပါအတိုင်းဖြစ်လိမ့်မည်။
SELECT
users.name, cities.name as city_name
FROM
users
LEFT JOIN cities ON cities.id=users.city_id
လက်တွေ့လေ့ကျင့်ခန်းများ
သင့်တွင် ကုန်ပစ္စည်းများပါသော ဇယားနှင့် ၎င်းတို့၏အမျိုးအစားများပါသော ဇယားရှိသည်ဆိုပါစို့။ ကုန်ပစ္စည်းအမည်များကို ၎င်းတို့၏အမျိုးအစားများနှင့်အတူ ထုတ်ယူပေးမည့် query တစ်ခုကို ရေးပါ။