Rumah  >  Artikel  >  pangkalan data  >  Gunakan fungsi IN MySQL untuk menapis rekod dengan nilai tertentu

Gunakan fungsi IN MySQL untuk menapis rekod dengan nilai tertentu

PHPz
PHPzasal
2023-07-25 13:48:181406semak imbas

Gunakan fungsi IN MySQL untuk menapis rekod dengan nilai tertentu

Dalam MySQL, fungsi IN ialah alat yang sangat berkuasa yang boleh digunakan untuk menapis rekod yang memenuhi syarat nilai tertentu. Fungsi IN boleh menggabungkan berbilang nilai parameter dan digunakan dalam klausa WHERE bagi pernyataan SELECT untuk memilih rekod daripada pangkalan data yang mengandungi nilai khusus tersebut.

Katakan kita mempunyai jadual bernama "pelajar" yang menyimpan maklumat asas pelajar. Medan yang disertakan dalam jadual ini ialah: ID pelajar, nama, umur, jantina, kelas, dsb. Sekarang kami ingin menapis maklumat tentang pelajar yang tergolong dalam kelas tertentu. Pada masa ini, anda boleh menggunakan fungsi IN untuk menyelesaikan tugasan ini dengan mudah.

Mula-mula, mari kita buat jadual yang dipanggil "pelajar" dan masukkan beberapa sampel data:

CREATE TABLE students (
  stu_id INT PRIMARY KEY,
  name VARCHAR(100),
  age INT,
  gender VARCHAR(10),
  class_id INT
);

INSERT INTO students (stu_id, name, age, gender, class_id)
VALUES 
  (1, '张三', 18, '男', 1),
  (2, '李四', 19, '女', 2),
  (3, '王五', 20, '男', 1),
  (4, '赵六', 21, '女', 3),
  (5, '钱七', 19, '男', 2),
  (6, '孙八', 20, '女', 2);

Kini, kita boleh menggunakan fungsi IN untuk menapis maklumat pelajar milik Kelas 1 dan Kelas 2:

SELECT * FROM students
WHERE class_id IN (1, 2);

SQL di atas Dalam pernyataan itu, parameter fungsi IN ialah senarai yang mengandungi nombor kelas tertentu, iaitu, "1, 2". Ini bermakna kami ingin memilih maklumat tentang pelajar yang tergolong dalam Kelas 1 dan Kelas 2. Selepas melaksanakan pernyataan SQL di atas, kami akan mendapat keputusan berikut:

+--------+---------+-----+--------+----------+
| stu_id |  name   | age | gender | class_id |
+--------+---------+-----+--------+----------+
|      1 | 张三    |  18 | 男      |        1 |
|      2 | 李四    |  19 | 女      |        2 |
|      3 | 王五    |  20 | 男      |        1 |
|      5 | 钱七    |  19 | 男      |        2 |
|      6 | 孙八    |  20 | 女      |        2 |
+--------+---------+-----+--------+----------+

Anda dapat melihat bahawa hanya maklumat pelajar milik Kelas 1 dan Kelas 2 telah ditapis keluar.

Selain menggunakan nilai khusus sebagai parameter, fungsi IN juga boleh menerima subkueri sebagai parameter. Sebagai contoh, kita boleh menggunakan subquery untuk menanyakan maklumat pelajar dalam kelas tertentu:

SELECT * FROM students
WHERE class_id IN (SELECT class_id FROM classes WHERE class_name = '一班');

Dalam pernyataan SQL di atas, subquery(SELECT class_id FROM classes WHERE class_name = '一班') akan mengembalikan nombor kelas dengan nama kelas "Kelas 1", dan kemudian lulus nombor kelas sebagai parameter kepada fungsi IN , dengan itu menapis maklumat pelajar kepunyaan "Kelas 1".

Melalui aplikasi fleksibel fungsi IN, kami boleh menapis rekod dalam pangkalan data dengan mudah yang memenuhi syarat nilai tertentu. Sama ada dengan menentukan parameter secara langsung atau mendapatkan parameter melalui subkueri, fungsi IN boleh membantu kami mendapatkan maklumat yang kami inginkan. Apabila kita perlu menapis nilai tertentu dalam pangkalan data, kita boleh cuba menggunakan fungsi IN untuk memudahkan operasi pertanyaan dan meningkatkan kecekapan.

Untuk meringkaskan, artikel ini memperkenalkan cara menggunakan fungsi IN MySQL untuk menapis rekod dengan nilai tertentu. Melalui demonstrasi kod sampel, kami memahami penggunaan asas fungsi IN, yang boleh menggabungkan berbilang nilai parameter untuk menapis nilai tertentu. Aplikasi fungsi IN bukan sahaja dapat memudahkan operasi pertanyaan, tetapi juga meningkatkan kecekapan operasi pangkalan data. Apabila anda menggunakan MySQL untuk pertanyaan data, anda boleh mempertimbangkan untuk menggunakan fungsi IN untuk menapis nilai tertentu.

Atas ialah kandungan terperinci Gunakan fungsi IN MySQL untuk menapis rekod dengan nilai tertentu. 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