Rumah >pangkalan data >tutorial mysql >Bagaimanakah SQL Mengendalikan Perbandingan Nilai Baris dalam Klausa WHERE?
Penjelasan terperinci tentang nilai baris dalam SQL
Dalam klausa WHERE SQL, nilai baris sering dibandingkan, seperti (col1, col2) < (val1, val2)
. Artikel ini akan menyelidiki sintaks dan kefungsian perbandingan nilai baris ini, serta aplikasinya dalam pertanyaan pangkalan data.
Konsep Teras
(col1, col2)
untuk melakukan perbandingan nilai baris. Sintaks ini sering digunakan dalam "penomboran set kekunci" untuk mendapatkan semula rekod data sebelum atau selepas baris tertentu.
Sintaks dan kefungsian
Ungkapan (col1, col2) < (val1, val2)
bermaksud: jika col1 < val1
, ungkapan itu benar; jika col1 = val1
dan col2 < val2
, ungkapan itu juga benar;
Ini berbeza daripada ungkapan setara yang lebih bertele-tele:
<code class="language-sql">(col1 < val1) OR (col1 = val1 AND col2 < val2)</code>
PostgreSQL boleh memanfaatkan indeks berbilang lajur pada (col1, col2)
atau (col1 DESC, col2 DESC)
untuk mengoptimumkan pertanyaan sedemikian. Ambil perhatian bahawa perbandingan nilai baris tidak sama dengan:
<code class="language-sql">col1 < val1 AND col2 < val2</code>
Perbezaannya jelas apabila mempertimbangkan nilai baris seperti (1,1)
.
Lebih banyak sumber
Untuk maklumat lanjut, sila rujuk pembentangan Markus Winand, "Cara Yang Betul untuk Mengomborkan Halaman dalam PostgreSQL":
Cara yang betul untuk membuat penomboran dalam PostgreSQL
Perbandingan nilai baris dibincangkan di halaman 20 dan matriks sokongan disediakan di halaman 45.
Atas ialah kandungan terperinci Bagaimanakah SQL Mengendalikan Perbandingan Nilai Baris dalam Klausa WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!