Rumah > Artikel > pangkalan data > Sebuah artikel memperkenalkan kaedah sekatan pernyataan pertanyaan MySQL IN
MySQL ialah sistem pengurusan pangkalan data yang biasa digunakan dalam pembangunan web. Apabila kami melakukan operasi pertanyaan, kami sering menggunakan pernyataan IN untuk menanyakan maklumat tentang elemen tertentu dalam set data. Penggunaan pernyataan IN boleh meningkatkan kecekapan pertanyaan dengan lebih baik, tetapi untuk mengawal hasil pertanyaan dengan lebih baik, kami biasanya perlu mengenakan beberapa sekatan pada pernyataan IN. Artikel ini akan memperkenalkan kaedah sekatan pernyataan pertanyaan MySQL IN.
Sintaks asas pernyataan IN ialah:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);
Antaranya, nilai1, nilai2,... ialah nilai-nilai yang ingin ditanya. Jika kita perlu mengehadkan hasil pertanyaan kepada hanya mengandungi beberapa nilai, kita boleh menggunakan 3 kaedah berikut.
Kaedah 1: Gunakan kata kunci LIMIT
Kata kunci LIMIT biasanya digunakan untuk mengehadkan jumlah bilangan hasil pertanyaan. Walau bagaimanapun, kami juga boleh menggunakannya untuk mengehadkan hasil pertanyaan untuk hanya memaparkan n item pertama yang dinyatakan dalam pernyataan IN. Sebagai contoh, jika kita perlu memaparkan keputusan tiga item pertama dalam pernyataan IN, kita boleh menulis:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,value3) LIMIT 3;
Dengan cara ini, kita hanya boleh mendapatkan tiga nilai nilai1 , nilai2 dan nilai3.
Kaedah 2: Menggunakan subkueri
Subkueri biasanya terhad kepada pernyataan pertanyaan yang berasingan. Walau bagaimanapun, ia juga boleh dibenamkan dalam pernyataan pertanyaan lain untuk melaksanakan operasi pertanyaan yang lebih kompleks. Apabila kita perlu mengehadkan hasil yang dikembalikan oleh pernyataan IN, kita boleh menggunakan pernyataan subquery untuk mengehadkannya. Sebagai contoh, jika kita perlu memaparkan 3 hasil pertama pernyataan IN, kita boleh menulis seperti ini:
SELECT column_name(s) FROM table_name WHERE column_name IN( SELECT column_name FROM table_name WHERE condition LIMIT 3 );
Di sini, kami menggunakan pernyataan subquery dalam pernyataan IN, yang memilih jadual table_name Di sana hanyalah 3 nilai pertama yang memenuhi syarat yang diberikan dan memenuhi syarat. Oleh itu, hasil pulangan pernyataan IN juga akan dihadkan kepada 3 nilai ini.
Kaedah 3: Gunakan kata kunci BETWEEN
Kata kunci ANTARA biasanya digunakan untuk menanyakan maklumat dalam julat tertentu. Walau bagaimanapun, jika kita menggunakan nilai pertama sebagai syarat sekatan, kita boleh mencapai sekatan pada keputusan pertanyaan pernyataan IN. Sebagai contoh, jika kita perlu memaparkan maklumat tiga item pertama dalam pernyataan IN, kita boleh menulis seperti ini:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND ( SELECT column_name FROM table_name WHERE column_name IN (value1,value2,value3) ORDER BY column_name DESC LIMIT 1 );
Di sini, kami menggunakan pernyataan IN dan pernyataan subquery untuk menentukan nilai lajur yang perlu dihadkan. Kemudian, kami menetapkan nilai had hasil pertanyaan daripada nilai1 kepada nilai maksimum yang dikembalikan oleh pernyataan subkueri. Dengan cara ini, kita boleh mengehadkan hasil pertanyaan pernyataan IN untuk berada dalam julat ini.
Ringkasnya, terdapat banyak cara untuk mengehadkan pernyataan pertanyaan MySQL IN Kita boleh memilih untuk menggunakan kata kunci LIMIT, pernyataan subquery atau kata kunci ANTARA untuk mengawal hasil yang dikembalikan. Kaedah sekatan ini boleh membantu kami mengawal hasil pertanyaan dengan lebih baik dan meningkatkan kecekapan pertanyaan.
Atas ialah kandungan terperinci Sebuah artikel memperkenalkan kaedah sekatan pernyataan pertanyaan MySQL IN. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!