Rumah >pangkalan data >tutorial mysql >Apakah Jenis Gabungan SQL yang Berbeza dan Bagaimana Ia Berfungsi?
Pemahaman mendalam tentang jenis sambung SQL: sambung dalam, sambung luar, sambung kiri dan sambung kanan
Caburan SQL digunakan untuk menggabungkan data daripada berbilang jadual berdasarkan lajur biasa (atau lajur). Terdapat empat jenis cantuman utama: cantuman dalam, cantuman luar, cantuman kiri dan cantuman kanan. Setiap jenis mempunyai ciri unik dan pertimbangan prestasi tersendiri.
Sertai Dalaman
Inner joins hanya mengembalikan baris dalam kedua-dua jadual yang mempunyai nilai yang sepadan. Ia merupakan jenis cantuman yang paling ketat kerana ia hanya mengandungi baris yang syarat cantuman itu benar. Ini bermakna ia tidak termasuk baris yang tidak mempunyai data yang sepadan dalam jadual lain.
Contoh:
<code class="language-sql">SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;</code>
Kiri Sertai
Gabung kiri mengembalikan semua baris dalam jadual di sebelah kiri, tidak kira sama ada terdapat baris yang sepadan dalam jadual di sebelah kanan. Ia mengandungi semua baris daripada jadual di sebelah kiri dan mana-mana baris yang sepadan daripada jadual di sebelah kanan. Nilai NULL akan dikembalikan untuk baris-baris dalam jadual sebelah kanan yang tidak mempunyai baris sepadan yang terdapat dalam jadual sebelah kiri.
Contoh:
<code class="language-sql">SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;</code>
Sertai Kanan
Sambung kanan adalah serupa dengan sambung kiri, tetapi ia mengembalikan semua baris dalam jadual kanan tanpa mengira sama ada terdapat baris yang sepadan dalam jadual kiri. Ia mengandungi semua baris daripada jadual di sebelah kanan dan mana-mana baris yang sepadan daripada jadual di sebelah kiri. Nilai NULL akan dikembalikan untuk baris dalam jadual kiri yang tidak mempunyai baris sepadan yang ditemui dalam jadual kanan.
Contoh:
<code class="language-sql">SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.id;</code>
Sertai Luar
Sambungan luar ialah gabungan sambung kiri dan sambung kanan. Ia mengembalikan semua baris daripada kedua-dua jadual tanpa mengira sama ada baris yang sepadan wujud dalam jadual lain. Nilai NULL dikembalikan untuk baris dalam mana-mana jadual yang tiada baris yang sepadan ditemui dalam jadual lain.
Contoh:
<code class="language-sql">SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.id = table2.id;</code>
Nota Prestasi
Prestasi operasi cantum bergantung pada bilangan baris dalam jadual, syarat cantum dan jenis cantuman yang digunakan. Cantuman dalam cenderung lebih cepat daripada cantuman luar kerana ia mengecualikan baris yang tidak mempunyai nilai yang sepadan. Prestasi cantuman kiri dan cantuman kanan mungkin serupa, bergantung pada saiz jadual dan syarat cantuman.
Secara amnya, adalah disyorkan untuk menggunakan jenis gabungan yang paling ketat, selagi ia masih mengembalikan data yang diperlukan. Ini membantu mengoptimumkan prestasi dan mengurangkan bilangan baris yang tidak perlu dikembalikan.
Atas ialah kandungan terperinci Apakah Jenis Gabungan SQL yang Berbeza dan Bagaimana Ia Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!