条件查询
SELECT *|{[DISTINCT] column|expression[alias],...}
FROM table
[WHERE condition(s)];
Condition(s)要使用到比较运算符常用的比较运算符如下:
操作符
| 含义
| =
| 等于
| >
| 大于
| >=
| 大于等于
| <
| 小于
| <=
| 小于等于
| <>
| 不等于 等效于!=
| 其它操作
| And 逻辑运算 逻辑与
| Or 逻辑运算 逻辑或
| Not 逻辑运算 逻辑否
| Between 起始值 and 结束值:使用 BETWEEN 运算来显示在一个区间内的值 包含(起始结束值)
| In: 使用 IN运算显示列表中的值。 In(,,,)相当于一个集合,只要出现集合中匹配的就显示
| Like:
l 使用 LIKE 运算选择类似的值
l 选择条件可以包含字符或数字:
· % 代表零个或多个字符(任意个字符)。
· _ 代表一个字符。
| Escape:
回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可
| Null:
使用 IS (NOT) NULL 判断空值。
|
//查询部门号为10的员工信息 部门为整数类型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheredeptno=10;
//查询职位号为MANAGER的员工信息 岗位的类型为字符类型
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wherejob='MANAGER';
//查询部门号为10并且员工的职位为MANAGER的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wherejob='MANAGER' and deptno=10;
注意:
l 字符和日期要包含在单引号中。
l 字符大小写敏感,日期格式敏感。
l 默认的日期格式是 DD-MON-RR。
//查询部门号大于10的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheredeptno>10;
//查询薪水大于等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheresal>=3000;
//查询薪水不等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheresal<>3000;
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheresal !=3000;
//查询薪水大于2000并且小于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheresal>2000 and sal<3000;
//查询薪水大于等于2000并且小于等于3000的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheresal between 1600 and 3000;
//等效于
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheresal>=1600 and sal<=3000;
//查询部门号位10,20的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheredeptno in(10,20);
//注意:相当于如下操作:
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wheredeptno =10 or deptno=20;
//查询员工名称以S开头的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp whereename like 'S%';
//查询员工名称以S结尾的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp whereename like '%S';
//查询员工名称第三个字符为N的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp whereename like '__N%';
//查询员工名称中含有N的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp whereename like '%N%';
//查询员工名称中倒数第二个字符为%的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp whereename like '%\%_'escape'\';
//查询员工名称总含有%的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp whereename like '%\%%'escape'\';
//查询奖金为null的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wherecomm is null;
//查询奖金非null的员工信息
SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp wherecomm is not null;
优先级表格:
优先级
|
| 1
| 算术运算
| 2
| 连接符
| 3
| 比较符
| 4
| Is not null like not in
| 5
| Not between
| 6
| not
| 7
| and
| 8
| Or
| 备注:可以采用括号改变优先级
|
关系数据库-à层次关系à网状的关系-à关系数据库-à对象关系。
|