Python MySQL ਜੋਈਨ
- ਪਿਛਲਾ ਪੰਨਾ MySQL Limit
- ਅਗਲਾ ਪੰਨਾ 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' }
ਉਪਭੋਗਤਾ ਦੇ 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
ਉਦਾਹਰਣ ਵਿੱਚ, ਹੈਨਾ ਅਤੇ ਮਾਇਕਲ ਨੂੰ ਨਹੀਂ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ INNER JOIN ਸਿਰਫ ਮੇਲ ਵਾਲੇ ਰਿਕਾਰਡਾਂ ਨੂੰ ਦਿਸਾਉਂਦਾ ਹੈ。
ਜੇਕਰ ਤੁਸੀਂ ਸਭ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਦਿਸਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਭਾਵੇਂ ਕਿ ਕੋਈ ਵੀ ਉਪਭੋਗਤਾ ਉਨ੍ਹਾਂ ਦੇ ਪਸੰਦੀਦਾ ਉਦਾਹਰਣ ਨਹੀਂ ਹੋਵੇ, ਤਾਂ ਲੈਫਟ ਜੋਈਨ ਸਟੇਟਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰੋ:
ਇੰਸਟੈਂਸ
ਸਭ ਉਪਭੋਗਤਾਵਾਂ ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਪਸੰਦੀਦਾ ਉਦਾਹਰਣਾਂ ਨੂੰ ਚੋਣ ਕਰੋ:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ LEFT JOIN products ON users.fav = products.id"
RIGHT JOIN
ਅਗਰ ਤੁਸੀਂ ਸਭ ਉਦਾਹਰਣਾਂ ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਪਸੰਦੀਦਾ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਦਿਸਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਭਾਵੇਂ ਕਿ ਕੋਈ ਵੀ ਉਪਭੋਗਤਾ ਉਨ੍ਹਾਂ ਦੇ ਪਸੰਦੀਦਾ ਨਹੀਂ ਹੋਵੇ, ਤਾਂ ਰਾਈਟ ਜੋਈਨ ਸਟੇਟਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰੋ:
ਇੰਸਟੈਂਸ
ਸਭ ਉਦਾਹਰਣਾਂ ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਪਸੰਦੀਦਾ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਚੋਣ ਕਰੋ:
sql = "SELECT \ users.name AS user, \ products.name AS favorite \ FROM users \ RIGHT JOIN products ON users.fav = products.id"
ਟਿੱਪਣੀਆਂ:ਅਜਿਹੇ ਉਦਾਹਰਣ ਵਿੱਚ ਹੈਨਾ ਅਤੇ ਮਾਇਕਲ ਨੂੰ ਨਹੀਂ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ INNER JOIN ਸਿਰਫ ਮੇਲ ਵਾਲੇ ਰਿਕਾਰਡਾਂ ਨੂੰ ਦਿਸਾਉਂਦਾ ਹੈ。
- ਪਿਛਲਾ ਪੰਨਾ MySQL Limit
- ਅਗਲਾ ਪੰਨਾ MongoDB ਦੀ ਸ਼ੁਰੂਆਤ