教程来源:B站视频BV1Vy4y1z7EX
我听课收集整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享
本文内容为完整笔记的第三篇
14、条件查询&模糊查询P19-25
14.1 什么是条件查询?
- 不是将表中所有数据都查出来。是查询出来符合条件的
- 条件查询需要用到where语句,where必须放到from语句表的后面支持如下运算符
- 语法格式:
14.2 都有哪些条件?
1、= 等于
- 查询薪资等于800的员工姓名和编号?
- select empno,ename from emp where sal = 800;
- 查询SMITH的编号和薪资?
2、<>或!= 不等于
- 查询薪资不等于800的员工姓名和编号?
- select empno,ename from emp where sal!= 800;
- select empno,ename from emp where sal <> 800;//小于号和大于号组成的不等号
3、between and两个值之间,等同于>-and<
- 第一种方式:>= and <=(and是并且的意思。)
- 第二种方式:between.and...
- 注意:
- 使用between and的时候,必须遵循左小右大。
- between and是闭区间,包括两端的值。
4、is null为null(is not null不为空)
- 查询哪些员工的津贴/补助为null?
- 注意:在数据库当中null不能使用等号进行衡量。需要使用is null因为数据库中的null代表什么也没有,它不是一个值,所以不能使用等号衡量。
- 查询哪些员工的津贴/补助不为null?
- 0就是0,和null是不一样的
5、and 并且
- 查询工作岗位是MANAGER并且工资大于2500的员工信息?
6、or 或者
- 查询工作岗位是MANAGER和SALESMAN的员工?
7、and和or同时出现的话,有优先级问题吗?
- 错误示范,and的优先级比or高
- 正确写法,加括号
- and和or同时出现,and优先级较高。如果想让or先执行,需要加"小括号"
- 以后在开发中,如果不确定优先级,就加小括号就行了。
8、in 包含,相当于多个 or(not in 不在这个范围中)
- 查询工作岗位是MANAGER和SALESMAN的员工?
- 查询薪资是800和5000的员工信息?
- not in 表示不在这几个值当中的数据。
- 注意:in不是一个区间。in后面跟的是具体的值。
9、not可以取非,主要用在is或in中
- is null
- is not null
- in
- not in
10、like
- 称为模糊查询,支持%或下划线匹配
- %匹配任意多个字符
- 下划线:任意一个字符。
- (%是一个特殊的符号,_也是一个特殊符号)
- 示例:中间、结尾、开头、指定位置字符查询
- 找出名字中有"_"的?