با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش Node.js در خدمت شما دوستان هستیم. در این جلسه قصد داریم به آموزش ترکیب یا ادغام جدول ها در MySQL با Node.js و دستور JOIN در MySQL بپردازیم.
با استفاده از دستور JOIN در MySQL می توانیم دو یا چند جدول را بر اساس ستون های مرتبط بین آن ها، ترکیب یا ادغام کنیم.
فرض کنید دو جدول به نام های users و products دارید.
جدول users:
1 2 3 4 5 6 7 | [ { 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:} ] |
جدول products:
1 2 3 4 5 | [ { id: 154, name: 'Chocolate Heaven' }, { id: 155, name: 'Tasty Lemons' }, { id: 156, name: 'Vanilla Dreams' } ] |
این دو جدول می توانند با استفاده از فیلد های id و favorite_product با یکدیگر ادغام شوند.
در مثال زیر رکورد های دو جدول که با هم مطاقبت دارند را انتخاب می کنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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); }); }); |
کد بالا را در فایلی demo_db_join.js ذخیره و اجرا کنید:
C:\Users\Your Name>node demo_db_join.js |
خروجی:
1 2 3 4 5 | [ { user: 'John', favorite: 'Chocolate Heaven' }, { user: 'Peter', favorite: 'Chocolate Heaven' }, { user: 'Amy', favorite: 'Tasty Lemons' } ] |
همانطور که در خروجی مشاهده می کنید، تنها رکورد هایی که با هم مطاقبت داشته اند در نتیجه قرار گرفته اند.
اگر می خواهید تمام رکوردهای users را بدون توجه به داشتن favorite_product برگشت دهید، از دستور LEFT JOIN استفاده کنید:
1 2 3 4 | SELECT users.name AS user, products.name AS favorite FROM users LEFT JOIN products ON users.favorite_product = products.id |
خروجی:
1 2 3 4 5 6 7 | [ { user: 'John', favorite: 'Chocolate Heaven' }, { user: 'Peter', favorite: 'Chocolate Heaven' }, { user: 'Amy', favorite: 'Tasty Lemons' }, { user: 'Hannah', favorite: null }, { user: 'Michael', favorite: null } ] |
اگر می خواهید تمام رکورد های products را بدون توجه به داشتن user برگشت دهید، از دستور RIGHT JOIN استفاده کنید:
1 2 3 4 5 6 | [ { user: 'John', favorite: 'Chocolate Heaven' }, { user: 'Peter', favorite: 'Chocolate Heaven' }, { user: 'Amy', favorite: 'Tasty Lemons' }, { user: null, favorite: 'Vanilla Dreams' } ] |
جلسه آموزش ادغام جدول ها در MySQL با Node.js و دستور JOIN در MySQL نیز به پایان رسید.
در جلسه بعد به آموزش شروع کار با MongoDB در Node.js خواهیم پرداخت. با ما همراه باشید.