آموزش SQL | دستور Join
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
دستور JOIN برای ترکیب ردیف های داده از چند جدول مختلف، بر اساس یک ستونی که بین دو جدول به هم مرتبط هستند، استفاده می شود.
مثلاً به دو جدول زیر توجه کنید:
جدول سفارشات “Orders”:
| OrderID | CustomerID | OrderDate |
|---|---|---|
| 10308 | 2 | 2020-09-18 |
| 10309 | 5 | 2020-09-19 |
| 10310 | 1 | 2020-09-20 |
و جدول کاربران “Users”:
| user_id | user_name | display_name | phone_number | city | postalcode | register_date |
|---|---|---|---|---|---|---|
| 1 | زهره احمدی | zohreh70 | 09123456789 | شیراز | 12209 | 2019-12-04 |
| 2 | مریم کرمانی | maryam_kermani | 09112211221 | تهران | 55021 | 2020-03-13 |
| 3 | علی افتخاری | ali32ef | 09198765432 | تهران | 35023 | 2020-01-25 |
| 4 | محمد معصومی | masoumi99 | 09122222222 | اصفهان | 32456 | 2019-11-01 |
| 5 | مهدی حیدری | mahdiheidary | 09111111111 | یزد | 98253 | 2020-08-14 |
ستون CustomerID از جدول Orders به ستون user_id از جدول Users اشاره دارد و به هم مرتبط هستند. حال اگر بخواهیم لیست سفارشات را به همراه نام هر مشتری داشته باشیم، باید این دو جدول را از طریق دو ستون CustomerID و user_id به هم مرتبط کنیم.
برای اینکار از یکی از مدل های JOIN به نام INNER JOIN استفاده می کنیم (حالت های مختلف در بخش های بعدی توضیح داده خواهند شود).
مثال
SELECT Orders.OrderID, Users.user_name, Orders.OrderDate
FROM Orders
INNER JOIN Users ON Orders.CustomerID = Users.user_id;
خروجی:
| OrderID | user_name | OrderDate |
|---|---|---|
| 10308 | مریم کرمانی | 2020-09-18 |
| 10309 | مهدی حیدری | 2020-09-19 |
| 10310 | زهره احمدی | 2020-09-20 |
برای ثبت پرسش ابتدا در سایت وارد شوید.