Oracle2

条件查询

1.条件查询

SELECT *|{[DISTINCT] column|expression [alias],...}

FROM table 

[WHERE condition(s)];

Condition(s)要使用到比较运算符常用的比较运算符如下:

操作符

含义

=

等于

>

大于

>=

大于等于

<

小于

<=

小于等于

<>

不等于 等效于!=

其它操作

And 逻辑运算  逻辑与

Or  逻辑运算  逻辑或

Not 逻辑运算  逻辑否

Between 起始值 and 结束值:使用 BETWEEN 运算来显示在一个区间内的值 包含(起始结束值)

In: 使用 IN运算显示列表中的值。 In(,,,)相当于一个集合,只要出现集合中匹配的就显示

Like

使用 LIKE 运算选择类似的值 

选择条件可以包含字符或数字:

• 代表零个或多个字符(任意个字符) 

• 代表一个字符。 

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;

注意:

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

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

默认的日期格式是 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;

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

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

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

未完,待续......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值