Dalam mysql, kata kunci where perlu digunakan bersama-sama dengan pernyataan SELECT untuk menentukan syarat pertanyaan, iaitu pertanyaan bersyarat dan mengembalikan data daripada jadual data sintaks "SELECT {*|field column name}; DARI Nama jadual data WHERE keadaan pertanyaan;".
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Dalam MySQL, jika anda perlu menanyakan data secara bersyarat daripada jadual data, anda boleh menggunakan kata kunci WHERE untuk menentukan syarat pertanyaan.
Format sintaks untuk menggunakan kata kunci WHERE adalah seperti berikut:
SELECT {*|字段列名} FROM 数据表名 WHERE 查询条件;
Syarat pertanyaan boleh:
Dengan operator perbandingan dan operator logik Syarat pertanyaan
Syarat pertanyaan dengan ANTARA DAN kata kunci
Syarat pertanyaan dengan kata kunci IS NULL
Syarat pertanyaan dengan kata kunci IN
Syarat pertanyaan dengan kata kunci SUKA
Syarat tunggal Pernyataan pertanyaan
syarat tunggal merujuk kepada hanya satu syarat pertanyaan selepas kata kunci WHERE.
Contoh 1
Soal nama pelajar dengan ketinggian 170cm dalam jadual data tb_students_info Penyataan SQL dan keputusan berjalan adalah seperti berikut.
mysql> SELECT name,height FROM tb_students_info -> WHERE height=170; +-------+--------+ | name | height | +-------+--------+ | Susan | 170 | +-------+--------+ 1 row in set (0.17 sec)
Seperti yang anda lihat, nilai medan ketinggian yang direkodkan dalam hasil pertanyaan adalah sama dengan 170. Jika tiada rekod yang sepadan dengan syarat pertanyaan dalam jadual data semasa membuat pertanyaan berdasarkan syarat yang ditentukan, sistem akan menggesa "Set kosong (0.00sec)".
Contoh 2
Soal nama pelajar yang berumur kurang daripada 22 tahun dalam jadual data tb_students_info Penyataan SQL dan keputusan berjalan adalah seperti berikut.
mysql> SELECT name,age FROM tb_students_info -> WHERE age<22; +------+------+ | name | age | +------+------+ | John | 21 | +------+------+ 1 row in set (0.05 sec)
Seperti yang anda lihat, nilai medan umur semua rekod dalam hasil pertanyaan adalah berumur kurang daripada 22 tahun dan rekod yang lebih besar daripada atau bersamaan dengan 22 tahun tidak dikembalikan.
Pernyataan pertanyaan berbilang syarat
Boleh terdapat berbilang syarat pertanyaan selepas kata kunci WHERE, yang boleh menjadikan hasil pertanyaan lebih tepat. Keadaan pertanyaan berbilang dipisahkan oleh operator logik DAN (&&), ATAU (||) atau XOR.
DAN: Rekod akan disoal hanya apabila ia memenuhi semua syarat pertanyaan.
ATAU: Rekod akan disoal hanya apabila ia memenuhi sebarang syarat pertanyaan.
XOR: Rekod akan disoal hanya apabila ia memenuhi salah satu syarat tetapi tidak memenuhi syarat yang lain.
Contoh 3
Soal maklumat pelajar yang umurnya lebih daripada 21 dan tinggi lebih daripada atau sama dengan 175 dalam jadual tb_students_info. Pernyataan SQL dan keputusan berjalan adalah seperti berikut.
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 AND height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Henry | 23 | 185 | | Jim | 24 | 175 | | Thomas | 22 | 178 | +--------+------+--------+ 3 rows in set (0.00 sec)
Anda boleh melihat bahawa medan umur semua rekod dalam hasil pertanyaan adalah lebih besar daripada 21 dan medan ketinggian lebih besar daripada atau sama dengan 175.
Contoh 4
Soal maklumat pelajar yang berumur lebih daripada 21 tahun atau tinggi lebih daripada atau bersamaan dengan 175 dalam jadual tb_students_info adalah seperti berikut.
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 OR height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Henry | 23 | 185 | | Jane | 22 | 162 | | Jim | 24 | 175 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Thomas | 22 | 178 | | Tom | 23 | 165 | +--------+------+--------+ 9 rows in set (0.00 sec)
Anda boleh melihat bahawa medan umur semua rekod dalam hasil pertanyaan lebih besar daripada 21 atau medan ketinggian lebih besar daripada atau sama dengan 175.
Contoh 5
Soal maklumat pelajar dalam jadual tb_pelajar_info yang umurnya lebih daripada 21 dan ketinggian kurang daripada 175 dan maklumat pelajar yang umurnya kurang daripada 21 dan ketinggian adalah lebih besar daripada atau sama dengan 175. Penyataan SQL dan keputusan berjalan adalah seperti berikut.
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 XOR height>=175; +-------+------+--------+ | name | age | height | +-------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Jane | 22 | 162 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Tom | 23 | 165 | +-------+------+--------+ 7 rows in set (0.00 sec)
Seperti yang anda lihat, medan umur semua rekod dalam hasil pertanyaan adalah lebih daripada 21 dan medan ketinggian kurang daripada 175. Tiada rekod dalam jadual data tb_students_info yang medan umurnya kurang daripada 21 dan medan ketinggiannya lebih besar daripada atau sama dengan 175.
ATAU, DAN dan XOR boleh digunakan bersama, tetapi perhatikan keutamaan pengendali apabila menggunakannya. Untuk maklumat tentang keutamaan pengendali dalam MySQL, anda boleh membaca bahagian "Keutamaan Operator MySQL".
Semakin banyak syarat pertanyaan, semakin sedikit rekod yang akan disoal. Oleh kerana lebih banyak syarat ditetapkan, lebih banyak sekatan pada pernyataan pertanyaan dan lebih sedikit rekod yang boleh memenuhi semua syarat. Untuk menjadikan rekod pertanyaan tepat seperti yang anda inginkan, anda boleh menetapkan syarat pertanyaan dalam pernyataan WHERE agar lebih spesifik.
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kata kunci mysql where. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!