您的位置:首页 > 数据库 > Oracle

49.Oracle数据库SQL开发之 子查询——编写多行子查询

2015-11-12 22:25 495 查看
49.Oracle数据库SQL开发之 子查询——编写多行子查询
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/49805699

多行子查询可以向外部的SQL语句返回一行或多行记录。要处理返回多行记录的子查询,外部查询可以使用IN、ANY或ALL操作如。

store@PDB1> select product_id,name from productswhere product_id in (1,2,3);

 

PRODUCT_ID NAME

---------- ------------------------------

          1 Modern Science

          2 Chemistry

          3 Supernova

1.  在多行子查询中使用IN 操作符

IN可以用来检查在一个值列表中是否包含指定的值。这个值列表也可以来自一个子查询返回结果。NOT IN执行的操作正好与IN在逻辑上相反。

store@PDB1>select product_id,name from products where product_id in (select product_idfrom products where name like '%e%');

 

PRODUCT_ID NAME

----------------------------------------

          1 Modern Science

          2 Chemistry

          3 Supernova

          5 Z Files

          6 2412: The Return

          7 Space Force 9

          8 From Another Planet

         11 Creative Yell

         12 My Front Line

 

9 rows selected.

查看NOT IN操作符:

store@PDB1> select product_id,name from productswhere product_id not in (select product_id from purchases);

 

PRODUCT_ID NAME

---------- ------------------------------

          4 Tank War

          5 Z Files

          6 2412: The Return

          7 Space Force 9

          8 From Another Planet

          9 Classical Music

         10Pop 3

         11Creative Yell

         12My Front Line

 

9 rows selected.

2.  在多行子查询中使用ANY操作符

ANY操作符可以用来将一个值与一个列表中的任何值进行比较。在查询中ANY操作符之前,必须使用一个 =,<>, <,>,<=,>=操作符。

store@PDB1> select employee_id,last_name fromemployees where salary < any (select low_salary from salary_grades);

 

EMPLOYEE_ID LAST_NAME

----------- ----------

           3 Hobbs

           4 Jones

           2 Johnson

3.  在多行子查询中使用ALL操作符

ALL操作符可以用来将一个值与一个列表中的所有值进行比较。

ALL操作符之前,必须使用一个 =,<>,<,>,<=或>=操作符。

store@PDB1> select employee_id,last_name fromemployees where salary > all (select high_salary from salary_grades);

 

no rows selected

说明,没有员工的工资高于最高工资。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: