MySQL JOIN


ULASHISH

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!