Thuta Learning
ရှာဖွေရန်
IntermediateData & Databasesbeginner

JOIN အမျိုးအစားများ

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • JOIN အမျိုးအစားများ concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • နမူနာ SQL/command ကို ကိုယ်တိုင် run ပြီး output စစ်နိုင်ရန်
  • Tutorial Platform project နှင့် production scenario တွင် အသုံးချနိုင်ရန်

နားလည်ထားရမယ့် အချက်

JOIN က table များကို key relationship ဖြင့်ပေါင်းပါတယ်။ `INNER JOIN` က နှစ်ဘက်ကိုက်သော rows သာပေးပြီး `LEFT JOIN` က ဘယ်ဘက် row အားလုံးကိုထိန်းထားပါတယ်။ One-to-many tables နှစ်ခုကို တစ်ပြိုင်နက် join လုပ်ရင် row များပွားနိုင်လို့ aggregate မတိုင်မီ result grain ကိုသတ်မှတ်ရပါတယ်။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

Tutorial နှင့် lesson များကို join လုပ်ပြီး published tutorial အားလုံး၏ lesson list ကိုပြမယ်။ Lesson မရှိသေးသော tutorial ကိုပါမြင်ချင်လျှင် LEFT JOIN သုံးပြီး right-table filter ကို WHERE ထဲမှားမထည့်ရပါဘူး။

အတူတူ စမ်းရေးကြည့်မယ်

sql
SELECT
  t.tutorial_id,
  t.title AS tutorial_title,
  l.lesson_number,
  l.title AS lesson_title
FROM app.tutorials AS t
LEFT JOIN app.lessons AS l
  ON l.tutorial_id = t.tutorial_id
WHERE t.is_published = true
ORDER BY t.title, l.lesson_number;
You should see
Published tutorial တစ်ခုစီနှင့် ၎င်း၏ lesson များကို order တိကျစွာပြမည်။

၅ မိနစ် စမ်းကြည့်

User နှင့် enrollment ကို LEFT JOIN လုပ်ပြီး enrollment မရှိသေးသော user များပါပြသော query ရေးပါ။

သတိလေးတစ်ချက်

LEFT JOIN ပြီး right table column ကို `WHERE right.col = ...` ဖြင့် filter လုပ်ရင် မသိမသာ INNER JOIN လိုပြောင်းနိုင်ပါတယ်။

PostgreSQL — Joins Between TablesPostgreSQL Global Development Group

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • LEFT JOIN ပြီး right table column ကို `WHERE right.col = ...` ဖြင့် filter လုပ်ရင် မသိမသာ INNER JOIN လိုပြောင်းနိုင်ပါတယ်။
  • နမူနာ code ကို production data ပေါ် တိုက်ရိုက်မစမ်းဘဲ local/test database နှင့် recoverable backup ပေါ်တွင် အရင်အတည်ပြုပါ။

လေ့ကျင့်ခန်း

User နှင့် enrollment ကို LEFT JOIN လုပ်ပြီး enrollment မရှိသေးသော user များပါပြသော query ရေးပါ။

You'll know it worked when: Published tutorial တစ်ခုစီနှင့် ၎င်း၏ lesson များကို order တိကျစွာပြမည်။

JOIN အမျိုးအစားများ | Thuta Learning