oracle笔记(五)条件查询

条件查询

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 where deptno=10;

// 查询职位号为 MANAGER 的员工信息   岗位的类型为字符类型

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER';

// 查询部门号为 10 并且员工的职位为 MANAGER 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where job='MANAGER' and deptno=10;

注意:

l        字符和日期要包含在单引号中

l        字符大小写敏感,日期格式敏感

l        默认的日期格式是 DD-MON-RR

// 查询部门号大于 10 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno>10;

// 查询薪水大于等于 3000 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=3000;

// 查询薪水不等于 3000 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal<>3000;

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal !=3000;

// 查询薪水大于 2000 并且小于 3000 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>2000 and sal<3000;

// 查询薪水大于等于 2000 并且小于等于 3000 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal between 1600 and 3000;

// 等效于

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=1600 and sal<=3000;

// 查询部门号位 10 20 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno in(10,20);

// 注意:相当于如下操作:

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno =10 or deptno=20;

// 查询员工名称以 S 开头的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like 'S%';

// 查询员工名称以 S 结尾的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%S';

// 查询员工名称第三个字符为 N 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '__N%';

// 查询员工名称中含有 N 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%N%';

// 查询员工名称中倒数第二个字符为 % 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%_'escape'\';

// 查询员工名称总含有 % 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%%'escape'\';

// 查询奖金为 null 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is null;

// 查询奖金非 null 的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where comm is not null;

优先级表格:

优先级

 

1

算术运算

2

连接符

3

比较符

4

Is not null like not in

5

Not between

6

not

7

and

8

Or

备注:可以采用括号改变优先级

 

   关系数据库 - à 层次关系 à 网状的关系 - à 关系数据库 - à 对象关系。

 

 

你可能感兴趣的:(oracle,sql)