限定查询
简单查询可以显示一张数据表中的所有数据,但这也是它的一个大问题。因为在很多时候我们并不需要查询所有的数据,我们只想要知道一些特定数据,那这时候就需要对数据进行过滤,而这样的查询就叫做限定查询。
语法:
SELECT [DISTINCT]*| 字段 [别名][字段 [别名]] ---控制数据列
FROM 表名称 [表别名] ---确定数据来源
[where 条件(s)]; ---控制数据行
条件:
关系运算符:<、 >、 <=、 >=、 <>、 !=
范围运算符:BETWEEN...AND IN子句
IS NULL LIKE 子句
逻辑运算符:AND与操作 OR或操作 NOT取反
1、关系运算
Eg:要求查询出基本工资高于1500的所有雇员信息
SQL> select * from emp where sal>1500; |
Eg:要求查询出基本工资高于1500低于3000的所有雇员信息
SQL> select * from emp where sal>1500 and sal<3000; SQL> select * from emp where sal between 1500 and 3000; 在使用between...and时,含1500和3000。 |
Eg:查询出所有职位是办事员的雇员信息 ---- 雇员的职位区分大小写
SQL> select * from emp where job='CLERK'; |
Eg:查询所有不是办事员的雇员信息
SQL> select * from emp where NOT job='CLERK'; SQL> select * from emp where job<>'CLERK'; SQL> select * from emp where job!='CLERK'; |
2,逻辑运算
Eg:查询出所有工资高于1200的销售人员信息
SQL> select * from emp where sal>1200 and job='SALESMAN'; |
Eg:查询工资在1500-3000之间的全部雇员信息
SQL> select * from emp where sal>=1500 and sal<=3000; SQL> select * from emp where sal between 1500 and 3000; |
Eg:查询出10部门的经理数据
SQL> select * from emp where deptno=10 and job='MANAGER'; |
Eg:查询职位是办事员,或者是工资高于3000的全部信息
SQL> select * from emp where job='CLERK' or sal>3000; |
Eg:查询职位是办事员,或者是销售员的全部信息,并要求这些雇员的工资大于1200
SQL> select * from emp where sal>1200 and job='CLERK' or job='SALESMAN'; |