MySQL 模糊查詢
- like 包含
- between and 區間範圍
- in 簡化
- is nullI、is not null 判斷null值
一、like
一般和通配符搭配使用。
通配符:
- % 任意多個字符,包含0個字符
- _ 任意單個字符
查詢學生名字包含“純”字的學生信息?
SELECT * FROM tstudent WHERE Sname LIKE '%純%';
查詢學生名中,第二個字符包含“純”字的學生信息?
SELECT * FROM tstudent WHERE Sname LIKE '_純%';
轉義符
案例:查詢學生名中,第二個字符包含“_”字符的學生信息?
SELECT * FROM tstudent WHERE Sname LIKE '_\_%';
\在這裏是轉義符
自定義轉義符
SELECT * FROM tstudent WHERE Sname LIKE '_@_%' ESCAPE '@';
#@在這裏是自定義轉義符,@可以隨便起
2、BETWEEN AND
- 區間包含零界值
- 兩頭零界值不能調換順序
案例:查詢學生編號在100-200之間的學生信息。
SELECT * FROM tstudent WHERE StudentID BETWEEN 100 AND 200;
3、in
案例:查詢學生班級是網絡、開發、測試,一個學生的學生信息
SELECT * FROM tstudent WHERE Class='網絡' OR Class='開發' OR Class='測試';
等價於:
SELECT * FROM tstudent WHERE Class IN('網絡','開發','測試');
4、is null
is null存在的意義:是因爲=或<>不能用於判斷null值
案例:查詢班級爲空的所有學生信息。
正常我們可能會寫成這樣:
SELECT * FROM tstudent WHERE Class=NULL;
但是這樣是無法出來結果的。原因是=他不能判斷null。
這個時候我們就應該這樣寫:
SELECT * FROM tstudent WHERE Class IS NULL;
取反這樣寫:
SELECT * FROM tstudent WHERE Class IS NOT NULL;