Python MySQL Yhdistä
- Edellinen Sivu MySQL Rajoita
- Seuraava Sivu MongoDB Perusteet
组合两张或更多表
您可以使用 JOIN 语句,根据它们之间的相关列组合两个或多个表中的行。
假设您有 "users" 表和 "products" 表:
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 的 fav
字段和 products 的 id
字段来组合这两个表。
Esimerkki
组合用户和产品,查看用户最喜欢的产品名称:
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 \ Sisäinen Yhdistä products ON users.fav = products.id" mycursor.execute(sql) myresult = mycursor.fetchall() for x in myresult: print(x)
Huomautus:Voit käyttää Yhdistä -lauseen Sisäisen Yhdistän sijaan. Saat saman tuloksen.
Vasen Yhdistä
Esimerkissä Hannah ja Michael eivät sisälly tuloksiin, koska Sisäinen Yhdistä näyttää vain vastaavat tietueet.
Jos haluat näyttää kaikki käyttäjät, vaikka heillä ei ole rakastettuja tuotteita, käytä Vasen Yhdistä -lause:
Esimerkki
Valitse kaikki käyttäjät ja heidän rakastamansa tuotteet:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ Vasen Yhdistä products ON users.fav = products.id"
Oikea Yhdistä
Jos haluat palauttaa kaikki tuotteet ja ne rakastavat käyttäjät, vaikka heitä ei ole, käytä Oikea Yhdistä -lause:
Esimerkki
Valitse kaikki tuotteet ja niitä rakastavat käyttäjät:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ Oikea Yhdistä products ON users.fav = products.id"
Huomautus:Hannah ja Michael, jotka eivät ole kiinnostuneita mistään tuotteista, eivät sisälly tuloksiin.
- Edellinen Sivu MySQL Rajoita
- Seuraava Sivu MongoDB Perusteet