where子句之模糊查询操作符
模糊查询(重点!):比较运算符
运算符 | 语法 | 描述 |
---|---|---|
is null | A is null | 如果操作符为null,结果为真 |
is not null | A is not null | 如果操作符不为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结合 %(代表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 '%伟%'
-- ====== in ***(具体的一个或者多个值)*** ========
-- 查询1000,1001号学员
SELECT `StudentNo`,`StudentName` FROM student
WHERE `StudentNo`IN (1000,1001)
-- 查询在'北京朝阳','广东深圳'的同学
SELECT `StudentNo`,`StudentName` FROM student
WHERE `address`IN ('北京朝阳','广东深圳') -- (里面是字符串,要加单引号)
-- ============= null or null ==============
-- 查询地址为空的学生 (null 或者空字符串)
SELECT `StudentNo`,`StudentName` FROM student
WHERE `address`='' OR `address` IS NULL -- (''里面是空字符串)
-- 查询地址不为空的学生
SELECT `StudentNo`,`StudentName` FROM student
WHERE `address` IS NOT NULL