oracle-3-子查询和常用函数

时间:2022-06-09 21:17:33

主要内容:

》子查询

》伪例

》锁的概念

》》》1。子查询

子查询在SELECT ,UPDATE ,DELETE 语句内部可以出现SELECT 语句,内部的SELECT 语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表,子查询的类型有:

单行子查询:不向外部返回结果,或者只返回一行结果

多行子查询:向外部返回零行,一行或者多行结果

案例:查询出销售部(SALES)下面的员工姓名,工作,工资

sql 语句如下:

SELECT ENAME,JOB,SAL,FROM EMP

WHERE DEPTNO=(SELECT DEPTNO FROM DEPT WHERE DNAME='SALES')

注:

在单行子查询中外部查询可以使用=,>,<,<=等等比较运算符

内部查询返回多行结果则会出现错误

案例:查询一个EMP 表中比任意一个销售员('SALESMAN')工资低的员工姓名、工作、工资

SELECT ENAME,JOB,SAL

FROM EMP

WHERE SAL<ANY(SELECT SAL FROM EMP WHERE JOB='SALESMAN')

/

这里把  ANY 加在比较符的后面,表示任意的意思

解释:

这里的

<ANY   表示的是:比子查询中的任意值都要小,也就是说,比子查询结果中最大值还小,同理

>ANY  表示的就是比子查询结果的最小值还大

还有一个就是ALL

>ALL  表示的就是比子查询的最大值还大

<ALL   表示的就是比子查询的最小值还小

》》》2.oracle中的伪例