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

作者:王成

撰写时间:2019年3月29日

含义:

1、返回多行;

2、使用多行比较操作符

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

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

SELECT * FROM SC WHERE CNO = 'c001'

输出结果:

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

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

SELECT * FROM SC WHERE CNO = 'c002'

输出结果:

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

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

SELECT * FROM SC WHERE CNO = 'c001'

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

输出结果:

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

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

SELECT * FROM SC WHERE CNO = 'c001'

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

输出结果:

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

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

SELECT * FROM SC WHERE CNO = 'c001'

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

输出结果:

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

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

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

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

 

相关文章: