⊗pyPmDOGD 123 of 129 menu

Mengambil Data dari Tabel Terkait di Python

Mari buat kueri yang akan mengambil semua pengguna beserta kota mereka. Untuk ini dibutuhkan perintah LEFT JOIN:

Sintaksnya terlihat seperti berikut:

SELECT fields FROM table_name LEFT JOIN related_table_name ON link_condition WHERE selection_condition

Mari kita bahas bagian-bagian sintaks perintah ini secara terpisah.

Fields (Kolom)

Karena seleksi dilakukan dari beberapa tabel, memilih semua kolom melalui * tidak akan bekerja. Kueri berikut hanya akan memilih kolom dari tabel utama, tetapi tidak dari tabel terkait:

SELECT *

Agar data dipilih dari semua tabel, perlu untuk menentukan nama tabel sebelum *:

SELECT users.*, cities.*

Atau, kita bisa mendaftarkan kolom yang kita butuhkan dengan menentukan nama tabel sebelumnya:

SELECT users.name, cities.name

Kedua cara ini memiliki masalah. Masalahnya adalah bahwa jika kolom dalam tabel memiliki nama yang sama, maka dalam array Python akan terjadi konflik nama dan hanya satu kolom yang akan menang, dan yang kedua tidak akan ada.

Untuk mengatasi masalah ini, nama yang bermasalah perlu diubah menggunakan perintah as:

SELECT users.name, cities.name as city_name

Link (Hubungan)

Setelah perintah ON kita harus menentukan kolom dari dua tabel, yang menjadi dasar hubungan. Dalam kasus kita, ini akan menjadi kolom id dari tabel kota dan kolom city_id dari tabel pengguna:

ON cities.id=users.city_id

Query (Kueri)

Hasilnya, kueri yang akan mengambil pengguna bersama dengan kota mereka akan terlihat seperti berikut:

SELECT users.name, cities.name as city_name FROM users LEFT JOIN cities ON cities.id=users.city_id

Tugas Praktis

Misalkan Anda memiliki tabel dengan produk dan tabel dengan kategorinya. Tulis kueri yang akan mengambil nama produk bersama dengan kategorinya.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak