模糊查询:比较运算符
运算符 | 语法 | 描述 |
IS NULL | a is null | 如果操作符为NULL,结果为真 |
IS NOT NULL | a is not null | 如果操作符为NOT NULL,结果为真 |
BETWEEN | a between b and c |
若a在b和c之间,则结果为真 |
LIKE | a like b | SQL匹配,若a能匹配b,则结果为真 |
IN | a in(a1,a2,a3,...) | 假设a在a1或a2...其中的某一个值中,结果为真 |
代码演示:
-- ================== LIKE ======================
-- 查询姓张的同学
-- LIKE 结合 %(代表0到任意个字符) _ (代表一个字符) 使用
SELECT `studentno`,`studentname`FROM `student`
WHERE studentname LIKE '张%';
-- 查询姓张的同学,名字当中只有一个字的
SELECT `studentno`,`studentname` FROM `student`
WHERE studentname LIKE '张_';
-- 查询姓张的同学,名字当中只有两个字的
SELECT `studentno`,`studentname` FROM `student`
WHERE studentname LIKE '张__';
-- 查询名字当中有伟的
SELECT `studentno`,`studentname` FROM `student`
WHERE studentname LIKE '%伟%';
-- ================== IN (具体的一个或者多个值) ======================
-- 查询指定的1000,1001号学生
SELECT `studentno`,`studentname` FROM `student`
WHERE studentno IN (1000,1001)
-- 查询在安徽的学生
SELECT `studentno`,`studentname` FROM `student`
WHERE `address` IN ('安徽')
-- ================== NULL,NOT NULL ======================
-- 查询地址为空的学生
SELECT `studentno`,`studentname` FROM `student`
WHERE address = '' OR address IS NULL
-- 查询有出生日期的同学
SELECT `studentno`,`studentname` FROM `student`
WHERE borndate IS NOT NULL