Python MySQL Join
- 上一页 MySQL Limit
- 下一页 MongoDB 入门
دمج جداول إثنين أو أكثر
يمكنك استخدام جملة JOIN لدمج سطرين من عدة جداول بناءً على الأعمدة المرتبطة.
افترض أن لديك جدول "المستخدمين" وجدول "المشاريع":
المستخدمين
{ الرقم_المستقل: 1، الاسم: 'John', المفضل: 154}, { الرقم_المستقل: 2، الاسم: 'Peter', المفضل: 154}, { الرقم_المستقل: 3، الاسم: 'Amy', المفضل: 155}, { الرقم_المستقل: 4، الاسم: 'Hannah', المفضل:}, { الرقم_المستقل: 5، الاسم: 'Michael', المفضل:}
المشاريع
{ الرقم_المستقل: 154، الاسم: 'Chocolate Heaven' }, { الرقم_المستقل: 155، الاسم: 'Tasty Lemons' }, { الرقم_المستقل: 156، الاسم: 'Vanilla Dreams' }
يمكنك استخدام حقل المستخدمين المفضل
حقل والمشاريع الرقم_المستقل
حقل لتجميع هذين الجدولين.
实例
دمج المستخدمين والمنتجات، لمعرفة المنتج المفضل للمستخدم:
استيراد محرك_المعالجة_المكتبية محرك_المعالجة_المكتبية = الاتصال_بمحرك_المعالجة_المكتبية_المصمم_للمعالجة_المكتبية( المضيف = "المضيف_المحلي", اسم_المستخدم = "اسم_المستخدم_الخاصة_بك"., كلمة_المرور = "كلمة_المرور_الخاصة_بك"., قاعدة_البيانات = "قاعدة_بيانات_المعالجة_المكتبية" ) مؤشر = محرك_المعالجة_المكتبية_المصمم_للمعالجة_المكتبية sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ INNER JOIN products ON users.fav = products.id" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
注释:您可以使用 JOIN 而不是 INNER JOIN。您都会得到相同的结果。
LEFT JOIN
在上例中,Hannah 和 Michael 被排除在结果之外,这是因为 INNER JOIN 只显示匹配的记录。
如果希望显示所有用户,即使他们没有喜欢的产品,请使用 LEFT JOIN 语句:
实例
选择所有用户及其喜爱的产品:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ LEFT JOIN products ON users.fav = products.id"
RIGHT JOIN
如果您想要返回所有产品以及喜欢它们的用户,即使没有用户喜欢这些产品,请使用 RIGHT JOIN 语句:
实例
选择所有产品以及喜欢它们的用户:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ RIGHT JOIN products ON users.fav = products.id"
注释:不对任何产品感兴趣的 Hannah 和 Michael 不包括在结果中。
- 上一页 MySQL Limit
- 下一页 MongoDB 入门