Python MySQL జాయింట్
- ముందు పేజీ MySQL లిమిట్
- తరువాత పేజీ MongoDB ప్రవేశం
组合两张或更多表
您可以使用 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
字段来组合这两个表。
ఉదాహరణ
组合用户和产品,查看用户最喜欢的产品名称:
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)
ప్రత్యామ్నాయంగా ఉంటుంది: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 లిమిట్
- తరువాత పేజీ MongoDB ప్రవేశం