Rumah >pangkalan data >tutorial mysql >Apakah Perbezaan Antara JOIN DALAM, SERTAI OUTER, SERTAI KIRI dan SERTAI KANAN dalam SQL?
SQL Joins: Panduan Komprehensif untuk INNER, OUTER, KIRI, dan KANAN Menyertai
Menguasai gabungan SQL adalah penting untuk pertanyaan pangkalan data yang cekap. Menyertai menggabungkan data daripada berbilang jadual berdasarkan kriteria yang dikongsi, membolehkan pengekstrakan data yang berkuasa. Panduan ini menjelaskan perbezaan antara cantuman DALAM, LUAR, KIRI dan KANAN.
SERTAI DALAM:
INNER JOIN hanya mengembalikan baris yang syarat cantum dipenuhi dalam kedua-dua jadual. Hasilnya ialah subset yang mengandungi hanya data yang sepadan. Contoh:
<code class="language-sql">SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;</code>
SERTAI LUAR:
OUTER JOIN, sebaliknya, termasuk semua baris dari satu jadual dan baris yang sepadan dari yang lain. Ini memastikan kemasukan baris walaupun mereka kekurangan data yang sepadan dalam jadual lain.
KIRI SERTAI:
LEFT JOIN mengembalikan semua baris dari jadual kiri. Baris dari jadual kanan disertakan hanya jika padanan wujud berdasarkan syarat gabungan. Jika tiada padanan ditemui, nilai NULL mengisi lajur yang tidak sepadan dari jadual kanan.
KANAN SERTAI:
Mencerminkan JOIN KIRI, JOIN KANAN mengembalikan semua baris dari jadual kanan. Baris yang sepadan dari jadual kiri disertakan; baris yang tidak sepadan dari jadual kiri menghasilkan nilai NULL untuk lajur tersebut.
Implikasi Prestasi:
Prestasi penyertaan dipengaruhi oleh saiz jadual, struktur, keadaan gabungan itu sendiri dan sistem pangkalan data. INNER JOIN biasanya menunjukkan prestasi terbaik kerana tumpuan mereka pada data yang sepadan. Prestasi OUTER, LEFT, dan RIGHT JOIN adalah bergantung kepada konteks.
Ringkasan:
SAMBUNGAN DALAM, LUAR, KIRI dan KANAN menyediakan kaedah yang pelbagai untuk menggabungkan data merentas jadual. Setiap jenis penyertaan menawarkan kelebihan dan aplikasi yang unik. Pemahaman menyeluruh tentang tingkah laku dan ciri prestasi mereka adalah penting untuk mencipta pertanyaan SQL yang cekap dan berkesan.
Atas ialah kandungan terperinci Apakah Perbezaan Antara JOIN DALAM, SERTAI OUTER, SERTAI KIRI dan SERTAI KANAN dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!