Python MySQL Magkakasama
- Nakaraang Pahina MySQL Limit
- Susunod Na Pahina MongoDB Pagpasok
Kombina ang dalawang o higit pang talahanayan
Maaaring gamitin ang JOIN sentence upang kombinahin ang mga linya ng dalawang o higit pang talahanayan.
Hypothetical na mayroon kayo sa "users" talahanayan at "products" talahanayan:
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' }
Maaaring gamitin ang users ng fav
mga laro at products ng id
mga laro upang kombinahin ang dalawang talahanayan.
Halimbawa
Kombina ang gumagamit at ang produkto, tingnan ang pinakamaisip na pangalan ng produkto ng gumagamit:
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)
Komentaryo:Maaari mong gamitin ang JOIN sa halip ng INNER JOIN. Maaaring makakuha ka ng parehong resulta.
LEFT JOIN
Sa nakaraang halimbawa, Hannah at Michael ay hindi kasama sa mga resulta dahil ang INNER JOIN ay nagpapakita lamang ang mga katugmang record.
Kung gusto mong ipakita ang lahat ng user, kahit walang pinagustuhang produkto, gamitin ang LEFT JOIN statement:
Halimbawa
Pilihin ang lahat ng user at ang kanilang mga pinagustuhang produkto:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ LEFT JOIN products ON users.fav = products.id"
RIGHT JOIN
Kung gusto mong ibalik ang lahat ng produkto at ang mga gumagustuhin nila ng mga user, kahit walang gumagustuhin ang mga produkto, gamitin ang RIGHT JOIN statement:
Halimbawa
Pilihin ang lahat ng produkto at ang mga gumagustuhin nila ng mga user:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ RIGHT JOIN products ON users.fav = products.id"
Komentaryo:Hannah at Michael, na walang interes sa anumang produkto, ay hindi kasama sa mga resulta.
- Nakaraang Pahina MySQL Limit
- Susunod Na Pahina MongoDB Pagpasok