MySQL JOIN
Ikki yoki undan ortiq jadvalga qo‘shiling
Ikki yoki undan ortiq jadvallar qatorlarini JOIN iborasidan foydalanib, ular orasidagi tegishli ustun asosida birlashtirishingiz mumkin.
Sizda "foydalanuvchilar" jadvali va "mahsulotlar" jadvali borligini ko‘rib chiqing:
foydalanuvchilar
{ 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:}
mahsulotlar
{ id: 154, name: 'Chocolate Heaven' },
{ id: 155, name: 'Tasty Lemons' },
{ id: 156, name: 'Vanilla Dreams' }
Ushbu ikkita jadvalni foydalanuvchilarningfavmaydoni va mahsulotlarningidmaydoni yordamida birlashtirish mumkin.
Misol
Foydalanuvchilarning sevimli mahsuloti nomini ko‘rish uchun foydalanuvchilar va mahsulotlarga qo‘shiling:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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)
Misolni ishga tushirish »
Eslatma: INNER JOIN o‘rniga JOIN dan foydalanishingiz mumkin. Ularning ikkalasi ham sizga bir xil natija beradi.
LEFT JOIN
Yuqoridagi misolda Xanna va Maykl natijadan chiqarib tashlandi, chunki INNER JOIN faqat mos keladigan joyni ko‘rsatadi.
Agar siz barcha foydalanuvchilarga sevimli mahsuloti bo‘lmasa ham ko‘rsatishni istasangiz, LEFT JOIN operatoridan foydalaning:
Misol
Barcha foydalanuvchilarni va ularning sevimli mahsulotlarini tanlang:
sql = "SELECT \
users.name AS user, \
products.name AS favorite \
FROM users \
LEFT JOIN products ON users.fav = products.id"
Misolni ishga tushirish »
RIGHT JOIN
Agar siz barcha mahsulotlarni va ularni sevimli deb bilgan foydalanuvchilarni, garchi hech bir foydalanuvchi ularni sevimli sifatida ko‘rsatmasa ham, qaytarmoqchi bo‘lsangiz, RIGHT JOIN operatoridan foydalaning:
Misol
Barcha mahsulotlarni va ularni sevimli sifatidagi foydalanuvchi(lar)ni tanlang:
sql = "SELECT \
users.name AS user, \
products.name AS favorite \
FROM users \
RIGHT JOIN products ON users.fav = products.id"
Misolni ishga tushirish »
Eslatma: Sevimli mahsuloti bo‘lmagan Xanna va Maykl natijaga kiritilmagan.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
