Rumah >pangkalan data >tutorial mysql >SQL JOIN: WHERE vs. ON: Apakah Perbezaan Utama dalam Menapis Data Bergabung?

SQL JOIN: WHERE vs. ON: Apakah Perbezaan Utama dalam Menapis Data Bergabung?

Susan Sarandon
Susan Sarandonasal
2025-01-23 02:49:11765semak imbas

SQL JOIN: WHERE vs. ON: What's the Key Difference in Filtering Joined Data?

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 JOINs, 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn