逻辑运算符
在C/C++、java语言的 if语句 中,当有 多个条件 时,要用到 逻辑运算
在sql中的多条件查询也与之类似,要用到 逻辑运算符,如下:
- 与:and,查询结果同时满足多个条件,优先级 高
- 或:or,查询结果至少满足一个条件,优先级 低
语法:
select * from 表名 where 列名 [比较运算符] 值 [逻辑运算符] 列名 [比较运算符] 值
and
查询工资大于1500,并且job是MANAGER的记录
select * from emp where sal>1500 and job='MANAGER';
查询范围
例子:查询工资在800至3000的员工
select * from emp where 800<=sal and sal<=3000;
or
查询工资大于1500,或者奖金500以上的
select * from emp where sal>1500 or comm>500;查询 没有奖金 的员工信息
select * from emp where comm is null or comm=0;查询 有奖金 的员工信息
select * from emp where comm is not null and comm<>0;查询job是SALESMAN或者MANAGER,并且薪资大于1500的员工信息
错误写法:select * from emp where job='SALESMAN' OR JOB='MANAGER' AND 1500<SAL正确写法:
select * from emp where (job='SALESMAN' OR JOB='MANAGER' ) AND 1500<SAL
练习
找出部门10 中的经理(MANAGER)和部门20 中的普通员工(CLERK)
找出部门10 中既不是MANAGER也不是CLERK,而且工资大于等于2000 的员工
找出有奖金的员工的不同工作
找出没有奖金或者奖金低于500 的员工,老员工在前面
显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
查询出工资大于等于1600,小于等于3000的员工,工资多的在前面