آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش ادغام جدول Table Join در Node.js MySQL

دوره های مرتبط با این مقاله

آموزش ادغام جدول ها Table Join در Node.js MySQL:

می توانید به وسیله دستور Join و با استفاده از فیلدهای همسان در دو یا چند جدول، رکوردهای این جدول ها را با هم ترکیب (Join) کرده و خروجی جدید ایجاد نمایید. از عملیات Join برای استخراج اطلاعات بیش از یک جدول استفاده می شود. برای درک بهتر، چند مثال عملی را نشان خواهیم داد.
مثال: فرض کنید دو جدول “users” و “products” با اطلاعات زیر داریم :

اطلاعات جدول users :

[
  { 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 :

[
  { id: 154, name: 'Chocolate Heaven' },
  { id: 155, name: 'Tasty Lemons' },
  { id: 156, name: 'Vanilla Dreams' }
]
            

دو جدول فوق را به وسیله فیلدهای favorite_product از جدول users و فیلد id از جدول products به صورت زیر و با دستور Join به هم متصل کنیم.

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);
  });
});
            
نکته :

می توانید از دستور INNER JOIN به جای دستور JOIN نیز استفاده نمایید. هر دو دستور، خروجی یکسانی تولید می کنند.

کد فوق را در فایل "demo_db_join.js" ذخیره کرده و با دستور زیر، آن را اجرا نمایید :

C:\Users\Your Name>node demo_db_join.js
            

Node.js دو جدول را با هم join (ترکیب) کرده و فیلدهای مورد نظر را به صورت زیر نمایش می دهد :

[
  { user: 'John', favorite: 'Chocolate Heaven' },
  { user: 'Peter', favorite: 'Chocolate Heaven' },
  { user: 'Amy', favorite: 'Tasty Lemons' }
]
            

همانطور که در خروجی مشاهده می کنید، فقط اطلاعات رکوردهایی که فیلدهایی با مقدار یکسان دارند در خروجی نمایش داده خواهد شد.

آموزش کار با Left Join در Node.js MySQL :

اگر می خواهید اطلاعات کلیه کاربران (جدول users) صرف نظر از این که دارای فیلد favorite_product با مقدار یکسان هستند یا خیر را در خروجی نمایش دهید، از دستور LEFT JOIN استفاده کنید.
مثال : در کد مثال زیر، نحوه استفاده از دستور LEFT JOIN نشان داده شده است. همانطور که می بینید در خروجی، اطلاعات کلیه رکوردهای جدول users نمایش داده می شود :

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 }
]
            

آموزش کار با Right Join در Node.js MySQL :

اگر می خواهید اطلاعات کلیه محصولات (جدول Products) را صرف نظر از این که آیا کاربری آن را به صورت favorite دارد یا نه و آیا این که اصلا کاربری به آن علاقه مند است یا خیر را در خروجی نمایش دهید، بایستی از دستور RIGHT JOIN استفاده کنید.
مثال : در کد مثال زیر، نحوه استفاده از دستور RIGHT JOIN نشان داده شده است. همانطور که می بینید، اطلاعات کلیه رکوردهای جدول products صرف نظر از این که آیا userای با آن در ارتباط است یا خیر، در خروجی نمایش داده خواهد شد :

SELECT users.name AS user,
products.name AS favorite
FROM users
RIGHT JOIN products ON users.favorite_product = products.id
            

C:\Users\My Name>node demo_db_right_join.js
            

خروجی به صورت زیر است :

[
  { user: 'John', favorite: 'Chocolate Heaven' },
  { user: 'Peter', favorite: 'Chocolate Heaven' },
  { user: 'Amy', favorite: 'Tasty Lemons' },
  { user: null, favorite: 'Vanilla Dreams' }
]
            
نکته :

در خروجی مثال فوق، کاربران (users) به نام Hanrah و Michael به دلیل این که هیچ محصولی (product) با آن ها در ارتباط نبوده، در خروجی لیست نشده اند.

  • 63
  •    0
  • تاریخ ارسال :   1398/05/08

دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .