Node.js MySQL Join
ဇယားနှစ်ခု သို့မဟုတ် ထို့ထက်ပို၍ ပူးပေါင်းပါ။
JOIN ကြေညာချက်ကို အသုံးပြု၍ ၎င်းတို့ကြားရှိ ဆက်စပ်ကော်လံတစ်ခုအပေါ် အခြေခံ၍ ဇယားနှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော အတန်းများမှ အတန်းများကို ပေါင်းစပ်နိုင်သည်။
သင့်တွင် "အသုံးပြုသူများ" ဇယားနှင့် "ထုတ်ကုန်များ" ဇယားတစ်ခုရှိသည်ဟု သုံးသပ်ကြည့်ပါ-
အသုံးပြုသူများ
[
{ id: 1, name: 'John',
favorite_product: 154},
{ id:
2, name: 'Peter', favorite_product: 154},
{ id: 3, name: 'Amy',
favorite_product: 155},
{ id: 4, name: 'Hannah', favorite_product:},
{ id: 5, name: 'Michael',
favorite_product:}
]
ထုတ်ကုန်များ
[
{ id: 154, name:
'Chocolate Heaven' },
{ id: 155, name: 'Tasty Lemons' },
{
id: 156, name: 'Vanilla Dreams' }
]
ဤဇယားနှစ်ခုကို အသုံးပြုသူများ၏ favorite_product
အကွက်နှင့် ထုတ်ကုန်များ၏
id
အကွက်ကို အသုံးပြု၍ ပေါင်းစပ်နိုင်သည်။
ဥပမာ
ဇယားနှစ်ခုလုံးရှိ ကိုက်ညီမှုရှိသော မှတ်တမ်းများကို ရွေးပါ
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var
sql = "SELECT users.name AS user, products.name AS favorite FROM users
JOIN products ON
users.favorite_product = products.id";
con.query(sql, function (err, result) {
if (err) throw err;
console.log(result);
});
});
မှတ်ချက်- JOIN အစား INNER JOIN ကို အသုံးပြုနိုင်ပါသည်။ သူတို့နှစ်ယောက်လုံးက တူညီတဲ့ရလဒ်ကို ပေးပါလိမ့်မယ်။
"demo_db_join.js" ဟုခေါ်သော ဖိုင်တစ်ခုတွင် အထက်ကုဒ်ကို သိမ်းဆည်းပြီး ဖိုင်ကို ဖွင့်ပါ။
"demo_db_join.js" ကိုဖွင့်ပါ
C:\Users\Your Name>node demo_db_join.js
သင့်အား ဤရလဒ်ကို ပေးလိမ့်မည်-
[
{ user: 'John', favorite:
'Chocolate Heaven' },
{ user: 'Peter', favorite: 'Chocolate Heaven' },
{
user: 'Amy', favorite: 'Tasty Lemons' }
]
အထက်ဖော်ပြပါ ရလဒ်များမှ သင်တွေ့မြင်ရသည့်အတိုင်း၊ ဇယားနှစ်ခုလုံးရှိ ကိုက်ညီမှုရှိသော မှတ်တမ်းများကိုသာ ပြန်လည်ရရှိမည်ဖြစ်သည်။
Join ထားခဲ့တယ်။
အသုံးပြုသူ အားလုံးကို ၎င်းတို့တွင် အကြိုက်ဆုံး ထုတ်ကုန်ရှိသည်ဖြစ်စေ မရှိသည်ဖြစ်စေ ပြန်လာလိုပါက LEFT JOIN ကြေညာချက်ကို အသုံးပြုပါ-
ဥပမာ
အသုံးပြုသူအားလုံးနှင့် ၎င်းတို့၏ စိတ်ကြိုက်ထုတ်ကုန်ကို ရွေးပါ-
SELECT users.name AS user,
products.name AS favorite
FROM users
LEFT
JOIN products ON users.favorite_product = products.id
သင့်အား ဤရလဒ်ကို ပေးလိမ့်မည်-
[
{ user: 'John', favorite:
'Chocolate Heaven' },
{ user: 'Peter', favorite: 'Chocolate Heaven' },
{
user: 'Amy', favorite: 'Tasty Lemons' },
{
user: 'Hannah', favorite: null },
{ user: 'Michael', favorite: null }
]
ညာဘက် Join
ထုတ်ကုန်အားလုံးကို ပြန်ပို့လိုပါက၊ ၎င်းတို့ကို အနှစ်သက်ဆုံးအဖြစ် ရရှိထားသည့် အသုံးပြုသူများ၊ အသုံးပြုသူမရှိလျှင် ၎င်းတို့ကို ၎င်းတို့၏ စိတ်ကြိုက်အဖြစ် ရရှိနိုင်သော်လည်း၊ RIGHT JOIN ကြေညာချက်ကို အသုံးပြုပါ-
ဥပမာ
ထုတ်ကုန်အားလုံးကို ရွေးချယ်ပြီး ၎င်းတို့ကို ၎င်းတို့၏ စိတ်ကြိုက်အဖြစ် အသုံးပြုသူအား ရွေးချယ်ပါ။
SELECT users.name AS user,
products.name AS favorite
FROM users
RIGHT
JOIN products ON users.favorite_product = products.id
သင့်အား ဤရလဒ်ကို ပေးလိမ့်မည်-
[
{ user: 'John', favorite:
'Chocolate Heaven' },
{ user: 'Peter', favorite: 'Chocolate Heaven' },
{
user: 'Amy', favorite: 'Tasty Lemons' },
{
user: null, favorite: 'Vanilla Dreams' }
]
မှတ်ချက်- အကြိုက်ဆုံးထုတ်ကုန်မရှိသော Hannah နှင့် Michael တို့သည် ရလဒ်တွင်မပါဝင်ပါ။