Python MySQL Join
- Önceki Sayfa MySQL Limit
- Sonraki Sayfa MongoDB Başlangıç
İki veya daha fazla tabloyu birleştirme
İki veya daha fazla tabloyu birleştirmek için JOIN ifadesini kullanabilirsiniz, ilgili sütunlar aracılığıyla iki veya daha fazla tablodaki satırları birleştirin.
Siz "users" ve "products" tablolarına sahipseniz:
users
{ id: 1, name: 'John', fav: 154}, { id: 2, name: 'Peter', fav: 154}, { id: 3, name: 'Amy', fav: 155}, { id: 4, name: 'Hannah', fav:}, { id: 5, name: 'Michael', fav:}
products
{ id: 154, name: 'Chocolate Heaven' }, { id: 155, name: 'Tasty Lemons' }, { id: 156, name: 'Vanilla Dreams' }
users tablosunun fav
alanı ve products tablosunun id
Bu iki tabloyu birleştirmek için alan kullanın.
Örnek
Kullanıcıların en sevdiği ürün adlarını görmek için kullanıcı ve ürünleri birleştirin:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", passwd="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)
Açıklama:JOIN yerine INNER JOIN kullanabilirsiniz. Her ikisi de aynı sonucu verecektir.
LEFT JOIN
Örnekteki durumda, Hannah ve Michael sonuçlar dışında yer alıyorlar, çünkü INNER JOIN sadece eşleşen kayıtları gösterir.
Tüm kullanıcıları göstermek istiyorsanız, kullanıcıların sevdikleri ürünleri olmasa bile, LEFT JOIN ifadesini kullanın:
Örnek
Tüm kullanıcıları ve sevdikleri ürünleri seçin:
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 bu ürünleri sevip sevmeyen kullanıcıları döndürmek istiyorsanız, kullanıcıların bu ürünleri sevmemesine rağmen, RIGHT JOIN ifadesini kullanın:
Örnek
Tüm ürünleri ve bu ürünleri sevip sevmeyen kullanıcıları seçin:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ RIGHT JOIN products ON users.fav = products.id"
Açıklama:Ürünlere ilgi duymayan Hannah ve Michael sonuçlar arasında yer almaz.
- Önceki Sayfa MySQL Limit
- Sonraki Sayfa MongoDB Başlangıç