Rumah >pangkalan data >tutorial mysql >JOIN vs. UNION: Apakah Perbezaan dalam Manipulasi Data SQL?
SQL JOIN dan UNION: Perbandingan Terperinci
SQL menyediakan dua pengendali berkuasa, JOIN
dan UNION
, untuk memanipulasi data merentas berbilang jadual. Artikel ini menjelaskan fungsi yang berbeza dengan contoh ilustrasi.
SERTAI dan KESATUAN: Bagaimana Mereka Berbeza
JOIN
menggabungkan baris daripada jadual berbeza berdasarkan lajur atau syarat yang dikongsi, menghasilkan set hasil gabungan yang mengandungi medan daripada kedua-dua jadual. Sebaliknya, UNION
menyusun hasil berbilang SELECT
secara menegak, menghasilkan set hasil tunggal yang merangkumi semua baris daripada setiap pertanyaan.
Memahami Operator JOIN
JOIN
(termasuk variasi seperti INNER JOIN
dan LEFT JOIN
) pada mulanya mencipta produk Cartesian bagi jadual yang terlibat. Selepas itu, ia menapis produk ini berdasarkan syarat gabungan yang ditetapkan. Ini membolehkan analisis data bersepadu daripada pelbagai sumber.
SERTAI Contoh
<code class="language-sql">SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;</code>
Ini INNER JOIN
hanya mengembalikan baris di mana lajur id
sepadan dalam kedua-dua table1
dan table2
.
Memahami Operator KESATUAN
UNION
(termasuk UNION ALL
) menggabungkan hasil daripada berbilang SELECT
pernyataan ke dalam satu set hasil bersatu. Tidak seperti JOIN
, UNION
tidak menapis atau membandingkan baris; ia hanya menggabungkan mereka.
Contoh UNION
<code class="language-sql">SELECT * FROM table1 UNION SELECT * FROM table2;</code>
Pernyataan UNION
ini mengembalikan semua baris daripada kedua-dua table1
dan table2
, menghapuskan baris pendua. UNION ALL
akan mengekalkan pendua.
Atas ialah kandungan terperinci JOIN vs. UNION: Apakah Perbezaan dalam Manipulasi Data SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!