MySQL Join

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
۱شروع کار
۲ایجاد پایگاه‌داده
۳ایجاد جدول
۴واردکردن در جدول
۵انتخاب
۶Where
۷Order By
۸حذف از جدول
۹حذف جدول
۱۰بروزرسانی
۱۱محدودکردن
۱۲الحاق
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

اتصال (به انگلیسی: Join) دو یا چند جدول

می‌توان ردیف‌های دو یا چند را براساس ستون‌های مرتبط بین آنها و با استفاده از عبارت JOIN با هم ترکیب کرد.[۱]

فرض کنید یک جدول “user” و یک جدول “products” دارید:

Terminal.png users


Terminal.png products


می‌توان این دو جدول را با استفاده از فیلد favدر users و فیلد id در product با هم ترکیب کرد.

مثال

جدول‌های users و products را ترکیب می‌کند تا نام محصول مورد علاقهٔ userها را ببیند:

 1 import mysql.connector
 2 
 3 mydb = mysql.connector.connect(
 4   host="localhost",
 5   user="yourusername",
 6   passwd="yourpassword",
 7   database="mydatabase"
 8 )
 9 
10 mycursor = mydb.cursor()
11 
12 sql = "SELECT \
13   users.name AS user, \
14   products.name AS favorite \
15   FROM users \
16   INNER JOIN products ON users.fav = products.id"
17 
18 mycursor.execute(sql)
19 
20 myresult = mycursor.fetchall()
21 
22 for x in myresult:
23   print(x)


مشاهدهٔ نتیجه


توجه: می‌توان از JOIN بجای INNER JOIN استفاده کرد. آنها هردو نتایج مشابهی ارائه می‌دهند.

LEFT JOIN

در مثال بالا، Hannah و Michael از نتیجه حذف شده‌اند، زیرا INNER JOIN فقط رکوردهایی را نشان می‌دهد که در آنها تطابق (به انگلیسی: Match) وجود دارد.

اگر می‌خواهید همهٔ userها را نمایش دهید، حتی اگر محصول مورد علاقه ای ندارند، از عبارت LEFT JOIN استفاده کنید:

مثال

همهٔ کاربران و محصول مورد علاقه آنها را انتخاب می‌کند:

1 sql = "SELECT \
2   users.name AS user, \
3   products.name AS favorite \
4   FROM users \
5   LEFT JOIN products ON users.fav = products.id"


مشاهدهٔ نتیجه


RIGHT JOIN

اگر می‌خواهید همهٔ محصول‌ها را انتخاب کنید، حتی اگر کاربری که به آنها مورد علاقه‌اش باشند وجود ندارد، از عبارت RIGHT JOIN کنید:

مثال

همهٔ محصول‌ها، و user(ها) ی که محصولات مورد علاقه اش هستند را برمی‌گرداند:

1 sql = "SELECT \
2   users.name AS user, \
3   products.name AS favorite \
4   FROM users \
5   RIGHT JOIN products ON users.fav = products.id"


مشاهدهٔ نتیجه


توجه: Hannah و Michael که هیچ محصول مورد علاقه ای ندارند، در این نتیجه ارائه نمی‌شوند.


منابع آموزشی