Rumah >pangkalan data >tutorial mysql >SQL JOIN: WHERE vs. ON: Apakah Perbezaan Utama dalam Menapis Data Bergabung?
SQL JOIN: Memahami Klausa WHERE dan ON
Menguasai SQL JOIN memerlukan pemahaman yang jelas tentang fasal WHERE
dan ON
. Walaupun kadangkala boleh ditukar ganti, fungsinya berbeza dengan ketara.
WHERE
Klausa: Penapisan Selepas Sertai
Klausa WHERE
menapis hasil gabungan. Pertimbangkan contoh ini:
<code class="language-sql">SELECT * FROM Orders LEFT JOIN OrderLines ON OrderLines.OrderID = Orders.ID WHERE Orders.ID = 12345;</code>
Di sini, fasal WHERE
menapis output, hanya menunjukkan baris dengan Orders.ID
ialah 12345. Ini terpakai selepas LEFT JOIN
telah menggabungkan data daripada Orders
dan OrderLines
.
ON
Klausa: Definisi Syarat Sertai
Klausa ON
mentakrifkan syarat bergabung itu sendiri. Perhatikan:
<code class="language-sql">SELECT * FROM Orders LEFT JOIN OrderLines ON OrderLines.OrderID = Orders.ID AND Orders.ID = 12345;</code>
Klausa ON
menetapkan bahawa hanya baris yang OrderLines.OrderID
sepadan dengan Orders.ID
dan Orders.ID
bersamaan 12345 akan disertakan dalam gabungan. Penapisan ini berlaku semasa proses penyertaan.
Perbezaan Semantik Utama
Walaupun WHERE
dan ON
mungkin menghasilkan hasil yang serupa dengan INNER JOIN
s, peranan semantik mereka adalah berbeza. WHERE
menapis set data gabungan terakhir, manakala ON
menentukan baris mana yang disertakan dalam operasi gabungan.
Atas ialah kandungan terperinci SQL JOIN: WHERE vs. ON: Apakah Perbezaan Utama dalam Menapis Data Bergabung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!