Pemahaman mendalam tentang perbezaan antara jenis MySQL JOIN
Klausa JOIN MySQL membolehkan anda menggabungkan data daripada berbilang jadual dengan memadankan nilai medan biasa. Terdapat beberapa jenis JOIN yang tersedia bergantung pada kes penggunaan:
SERTAI DALAM (sambungan dalaman)
INNER JOIN mengembalikan baris hanya jika terdapat padanan dalam kedua-dua jadual. Ia menjalankan operasi persimpangan yang ditetapkan dan mendapatkan semula rekod kepunyaan kedua-dua jadual.
KIRI JOIN (kiri sertai)
LEFT JOIN mengembalikan semua baris dalam jadual kiri tanpa mengira sama ada terdapat padanan di jadual kanan. Ia mengisi padanan yang hilang dalam jadual yang betul dengan nilai NULL.
KANAN SERTAI (kanan sertai)
RIGHT JOIN adalah serupa dengan LEFT JOIN, tetapi ia mengembalikan semua baris dari jadual kanan dan bukannya semua baris dari jadual kiri. Begitu juga, nilai NULL digunakan untuk mewakili padanan yang hilang dalam jadual kiri.
SERTAI PENUH (sambungan penuh)
FULL JOIN menggabungkan hasil gabungan luar KIRI dan KANAN, mengembalikan semua baris dalam kedua-dua jadual. Mana-mana baris yang tidak sepadan dari mana-mana jadual akan diisi dengan nilai NULL.
Contoh
Pertimbangkan dua jadual, JadualA dan JadualB, yang mengandungi data berikut:
<code>**TableA** | id | firstName | lastName | |---|---|---| | 1 | arun | prasanth | | 2 | ann | antony | | 3 | sruthy | abc | **TableB** | id2 | age | Place | |---|---|---| | 1 | 24 | kerala | | 2 | 24 | usa | | 3 | 25 | ekm | | 5 | 24 | chennai |</code>
Contoh INNER JOIN
<code class="language-sql">SELECT * FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;</code>
Keputusan:
firstName | lastName | age | Place |
---|---|---|---|
arun | prasanth | 24 | kerala |
ann | antony | 24 | usa |
sruthy | abc | 25 | ekm |
contoh SERTAI KIRI
<code class="language-sql">SELECT * FROM TableA LEFT JOIN TableB ON TableA.id = TableB.id2;</code>
Keputusan:
firstName | lastName | age | Place |
---|---|---|---|
arun | prasanth | 24 | kerala |
ann | antony | 24 | usa |
sruthy | abc | 25 | ekm |
Contoh JOIN KANAN
<code class="language-sql">SELECT * FROM TableA RIGHT JOIN TableB ON TableA.id = TableB.id2;</code>
Keputusan:
firstName | lastName | age | Place |
---|---|---|---|
arun | prasanth | 24 | kerala |
ann | antony | 24 | usa |
sruthy | abc | 25 | ekm |
NULL | NULL | 24 | chennai |
Contoh sertai penuh (MySQL tidak menyokong pekerjaan penuh langsung, anda perlu menggunakan kesatuan untuk mensimulasikan)
MySQL tidak menyokong gabungan penuh secara langsung.
LEFT JOIN
melalui contoh -contoh di atas, perbezaan antara jenis gabungan yang berbeza dalam penggabungan data dapat dilihat dengan jelas. Memilih jenis gabungan yang sesuai adalah penting untuk mendapatkan data yang diperlukan dengan cekap. RIGHT JOIN
Atas ialah kandungan terperinci Bagaimanakah gabungan dalaman, kiri, kanan, dan penuh berbeza dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!