Bir JOIN deyimi kullanarak, aralarında ilgili bir sütuna dayalı olarak iki veya daha fazla tablodaki satırları birleştirebilirsiniz.
Bir ‘users‘ tablonuz ve bir ‘products‘ tablonuz olduğunu düşünün:

Bu iki tablo, kullanıcıların fav alanı ve ürünlerin id alanı kullanılarak birleştirilebilir.
Örnek: Kullanıcıların favori ürününün adını görmek users ve products tablolarını birleştirelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() 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) |
Not: INNER JOIN yerine JOIN kullanabilirsiniz. İkisi de size aynı sonucu verecektir.
LEFT JOIN
Yukarıdaki örnekte, Hannah ve Michael sonuçtan hariç tutulmuştur, bunun nedeni INNER JOIN’in yalnızca eşleşmenin olduğu kayıtları göstermesidir.
Favori bir ürünü olmasa bile tüm kullanıcılara göstermek istiyorsanız, LEFT JOIN deyimini kullanın:
Örnek:
1 2 3 4 5 6 7 |
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ LEFT JOIN products ON users.fav = products.id" |

RIGHT JOIN
Tüm ürünleri ve onları favori olarak gören kullanıcılar, hiçbir kullanıcı bunları favori olarak görmese bile iade etmek istiyorsanız, RIGHT JOIN ifadesini kullanın:
1 2 3 4 5 6 7 |
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ RIGHT JOIN products ON users.fav = products.id" |

Not: Favori ürünü olmayan Hannah ve Michael sonuca dahil edilmemiştir.
[…] Python MySQL Join Kullanımı […]