使用特殊关系运算符查询
-
特殊关系运算符
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 and -
例6 查询年龄小于18岁或大于20岁的学生信息
SELECT * FROM Student
WHERE sage NOT BETWEEN and 注意:
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 '[^赵钱孙李]%'
-