ORACLE子查询的多种用法

一、用于查询

第一个是最普通的子查询,子查询 (内查询) 在主查询之前一次执行完成。子查询的结果被主查询(外查询)使用。子查询一般是返回单行,要是返回多行,就要用到使用多行比较操作符(in,all,any)

ORACLE子查询的多种用法

 

二、使用子查询创建表

这就是把子查询查询出来的数据,创建成一个表,表中的列的数据类型、约束和原来的一样

例子:CREATE TABLE adele

      AS

      SELECT employee_id , last_name

      From employees

 

三、在 UPDATE 语句中使用子查询

在 UPDATE 中使用子查询,使更新基于另一个表中的数据

例子:UPDSTE employees

     SET    job_id = (SELECT Job_id

FROM   employees

WHERE  employee_id = 150),

            Salary = (SELECT salary

FROM   employees

WHERE  employee_id = 150)

WHERE employee_id = 111

 

四、使用子查询创建视图

其实这个用法和第二个用法差不多,只是一个是创建表,一个是创建视图

例子:CREATE OR REPLACE VIEW empview

      AS

      SELECT employee_id , last_name

      From employees