Oracle相关语句(三)

本文深入讲解了SQL查询的基础与高级技巧,包括使用各种运算符进行条件筛选,如比较运算符、逻辑运算符等,以及如何利用LIKE进行模糊查询,演示了如何通过IN和BETWEEN实现范围查询,同时介绍了NULL值的处理方式。文章通过具体实例,帮助读者掌握SQL查询的精髓。
摘要由CSDN通过智能技术生成

6.过滤查询

       语法格式

SELECT    {DISTINCT}列名1 [AS 别名1],   列名2,   …,  列名n

FROM     表名

WHERE   条件

ORDER   BY   列名1   ASC|DESC,    列名2  ASC|DESC,….

范例:查询部门10下的所有员工的empna,ename。

SELECT  empno,ename  FROM  emp   WHERE  deptno = 10;

 

 

 

6.1 比较运算符

1)       > 

范例:查询工资大于800的人的信息

SELECT ename,sal FROM emp WHERE sal>800;

 

2)       < 

 

3)       >=

4)       <=

5)       =

范例:查询姓名是smith的信息。

SELECT ename,sal,deptno FROM emp WHERE ename = 'SMITH';

 

6)       不等于:!=   <>(<>为Oracle正牌不等于)

 

范例:查询部门10以外的员工信息。

SELECT ename,deptno FROM emp WHERE deptno !=10;

 

7)       BETWEEN     AND 

 

范例:查询部门10-20的员工信息。

SELECT ename,deptno FROM emp WHERE deptno BETWEEN 10 AND 20;

 

8)       IN

 

范例:查询岗位是CLERK或SALESMAN的人的信息

SELECT ename,job FROM emp WHERE job in('CLERK','SALESMAN');

 

9)       LIKE:模糊查询

a)        %:代表零或多个字符

b)       _:代表一个字符

范例:查询姓名中包含字母A的雇员的姓名。

SELECT ename FROM emp WHERE ename LIKE ‘%A%’;

 

范例:查询姓名中第二个字母是A的雇员的姓名。

 

SELECT ename FROM emp WHERE ename LIKE ‘_A%’;

注:特殊字符,查job前面为man_的姓名

SELECT ename,job

FROM emp

WHERE job LIKE 'man@_%' ESCAPE '@';

/****其中@符号也可以换成其他字符,重要的是ESCAPE********/

10)    is null

范例:查询没有补助的人的信息

select ename,comm from emp where comm is null;

 

6.2 逻辑运算符

 

1)       AND

2)       OR

3)       NOT:

范例:查询部门10或部门20下的员工的信息。

SELECT ename,deptno FROM emp WHERE deptno=10 OR deptno = 20;

 

范例:查询工资在800-2000之间的雇员的信息。

 

SELECT ename,sal FROM emp WHERE sal>=800 AND sal<=2000;

 

范例:查询工资不在800-2000之间的雇员的信息。

 

SELECT ename,sal FROM emp WHERE sal NOT BETWEEN 800 AND 2000;

 

范例:查询有补助的人的信息。

 

SELECT ename,sal FROM emp WHERE comm IS NOT NULL;

 

6.3 括号运算符()

 

范例:查询工资在800-2000之间的雇员的信息。

SELECT ename,sal FROM emp WHERE (sal>=800) AND (sal<=2000);

 

6.4 优先级

 

优先级

运算符

1

算术运算符

2

连接运算符

3

比较运算符

4

IS[NOT] NULL

LIKE,

[NOT] IN

5

[NOT] BETWEEN AND

6

NOT

7

AND

8

OR

注:括号可以改变优先级顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值