主要内容:
》子查询
》伪例
》锁的概念
》》》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中的伪例