Python MySQL Gabung

Menggabungkan dua atau lebih tabel

Anda boleh menggunakan statement JOIN untuk menggabungkan baris dari dua atau lebih tabel berdasarkan kolom yang relevan antaranya.

Assumekan anda memiliki tabel "users" dan "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' }

boleh digunakan medan pengguna fav medan dan produk id medan untuk menggabungkan kedua tabel ini.

Contoh

menggabungkan pengguna dan produk, lihat produk yang disukai pengguna:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()

  
  
  Dari users \",
  INNER JOIN products ON users.fav = products.id"
mycursor.execute(sql)
myresult = mycursor.fetchall()
untuk x di dalam myresult:
  print(x)

Jalankan Contoh

Keterangan:Anda dapat menggunakan JOIN daripada INNER JOIN. Kedua-duanya akan memberikan hasil yang sama.

LEFT JOIN

Dalam contoh di atas, Hannah dan Michael dikecualikan dari hasil, karena INNER JOIN hanya menampilkan rekaman yang cocok.

Jika Anda ingin menampilkan semua pengguna, bahkan jika mereka tidak mempunyai produk yang disukai, gunakan kalimat perintah LEFT JOIN:

Contoh

Pilih semua pengguna dan produk yang disukainya:


  
  
  Dari users \",
  LEFT JOIN products ON users.fav = products.id"

Jalankan Contoh

RIGHT JOIN

Jika Anda ingin mengembalikan semua produk dan pengguna yang menyukainya, bahkan jika tidak ada pengguna yang menyukai produk ini, gunakan kalimat perintah RIGHT JOIN:

Contoh


  
  
  Dari users \",
  RIGHT JOIN products ON users.fav = products.id"

Jalankan Contoh

Keterangan:Hannah dan Michael yang tidak memerlukan produk apa pun tidak termasuk dalam hasil.