Oracle多行子查询IN、ANY、ALL的使用

  • Post author:
  • Post category:其他

开发工具与关键技术:Oracle sql*plus

作者:王成

撰写时间:2019年3月29日

含义:

1、返回多行;

2、使用多行比较操作符

例:1、查询“c001”课程学生的信息

SELECT * FROM SC WHERE CNO = ‘c001’

输出结果:

2、查询“c001”课程学生的信息

SELECT * FROM SC WHERE CNO = ‘c002’

输出结果:

3、查询“c001”课程和“c002”课程成绩相同的学生的学号

SELECT * FROM SC WHERE CNO = ‘c001’

AND SCORE IN (SELECT SCORE FROM SC WHERE CNO = ‘c002’)

输出结果:

4、查询“c001”课程比“c002”课程成绩高的所有学生的学号

SELECT * FROM SC WHERE CNO = ‘c001’

AND SCORE > ANY (SELECT SCORE FROM SC WHERE CNO = ‘c002’)

输出结果:

5、查询“c001”课程比“c002”所有课程成绩高的学生的学号

SELECT * FROM SC WHERE CNO = ‘c001’

AND SCORE > ALL (SELECT SCORE FROM SC WHERE CNO = ‘c002’)

输出结果:

由例15可知,当数据相同时使用in

当一条数据比较多条数据中的任一数据时用any

当一条数据比较多条数据中所有数据时用all

 


版权声明:本文为weixin_44545511原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。