Rumah >pangkalan data >tutorial mysql >Adakah Pesanan Sertai Mempengaruhi Keputusan Pertanyaan SQL?
Tertib operasi memberi kesan ketara kepada keputusan KIRI, KANAN, dan PENUH LUAR JOIN.
Komutatif dan Asosiasi: Tidak Dijamin
<code class="language-sql">a LEFT JOIN b ON b.ab_id = a.ab_id LEFT JOIN c ON c.ac_id = a.ac_id</code>
tidak dijamin sama seperti:
<code class="language-sql">a LEFT JOIN c ON c.ac_id = a.ac_id LEFT JOIN b ON b.ab_id = a.ab_id</code>
Senario Di Mana Pesanan Adalah Kritikal
Sertai perintah menjadi penting apabila berurusan dengan AND
syarat yang melibatkan NULL
nilai atau fungsi yang sensitif kepada NULLs
(seperti COALESCE()
). Contohnya:
<code class="language-sql">a LEFT JOIN b ON b.ab_id = a.ab_id LEFT JOIN c ON c.ac_id = a.ac_id AND c.bc_id = b.bc_id</code>
Pertanyaan ini akan menghasilkan hasil yang berbeza daripada:
<code class="language-sql">a LEFT JOIN c ON c.ac_id = a.ac_id AND c.bc_id = b.bc_id LEFT JOIN b ON b.ab_id = a.ab_id</code>
Berbeza dengan sambung luar, susunan SANTUNG DALAM tidak menjejaskan set keputusan akhir. A JOIN B
dan B JOIN A
menghasilkan hasil yang sama (dengan mengandaikan pelarasan yang sesuai pada klausa SELECT
, cth., SELECT a.*, b.*, c.*
).
Atas ialah kandungan terperinci Adakah Pesanan Sertai Mempengaruhi Keputusan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!