使用特殊关系运算符查询
-
特殊关系运算符
IN、NOT IN IS NULL、IS NOT NULL BETWEEN、NOT BETWEEN LIKE、NOT LIKE
-
IN , NOT IN
- IN 在集合中
- NOT IN 不在集合中
- 例1 查询籍贯是陕西、河南的学生
SELECT * FROM Student WHERE province IN(‘陕西‘, ‘河南‘)
- 例2 查询籍贯不是是陕西和河南的学生
SELECT * FROM Student WHERE province NOT IN(‘陕西‘, ‘河南‘) --IN(11,12,13), IN(‘2015-10-1‘,‘2016-10-1‘), 用逗号隔开的数据类型应该和IN前面的类型相同
-
IS NULL, IS NOT NULL
- IS NULL 是空
- IS NOT NULL 不是空
- 例3 查询没填电话号码的学生
SELECT * FROM Student WHERE stel is NULL
- 例4 查询填了电话号码的学生
SELECT * FROM Student WHERE stel is NOT NULL
-
BETWEEN, NOT BETWEEN
- BETWEEN AND, 在两值之间
- NOT BETWEEN AND, 不在两值之间
- 两值可以是数值、字符串或日期型数据
- BETWEEN 起始值 AND 终止值
- NOT BETWEEN 起始值 AND 终止值
- 例5 查询年龄在18到20岁的学生信息
SELECT * FROM Student where sage BETWEEN 18 and 20
- 例6 查询年龄小于18岁或大于20岁的学生信息
SELECT * FROM Student WHERE sage NOT BETWEEN 18 and 20
-
注意:
1. 区间是闭区间
2. 两值的类型可以是数值、字符串或日期型
3. 日期作终止值时,不包括终止值那天.
-
LIKE, NOT LIKE
-
实现模糊匹配查询
- LIKE 字符串
- NOT LIKE 字符串
- %,匹配0个或多个任意字符
- _ , 匹配一个任意字符
- [],匹配集合中的任意一个字符 [ABC]
- [^],不匹配集合中的任何字符 [^ABC]
- 例7 查询姓‘陈‘的同学信息
SELECT * FROM Student WHERE sname LIKE ‘陈%‘
- 例8 查询名字中含有“雨”的同学的信息
SELECT * FROM Student WHERE sname LIKE ‘%雨%‘
- 例9 查询姓“郑”的,且名字为两个字的同学的信息
SELECT * FROM Student WHERE sname LIKE ‘郑_‘
- 例10 查询姓为赵、钱、孙、李的同学的信息
SELECT * FROM Student WHERE sname LIKE ‘[赵钱孙李]%‘
- 例11 查询姓不是赵、钱、孙、李的同学的信息
SELECT * FROM Student WHERE sname LIKE ‘[^赵钱孙李]%‘
-
时间: 2024-09-29 01:03:31