【SQL Server 第4篇】子查询与嵌套查询

简单的嵌套查询

举例:查询考试大于等于90分的学生信息

           use 数据库
           select * from 学生表
           where 学号= (select 学号 from 成绩表 where 成绩>=90)

带in的嵌套查询

举例:查询参加考试的学生信息

           use 数据库
           select * from 学生表
           where 学号 in (select 学号 from 成绩表 )

带not in的嵌套查询

举例:查询没有考试的课程信息

           use 数据库
           select * from 课程表
           where 课程编号 not  in 
          (select 课程编号 from 成绩表 where 课程编号 is not null )

带some的嵌套查询

举例:查询年龄小于平均年龄的所有学生信息。

          use 数据库
           select * from 学生表
           where 年龄<some
          (select avg(年龄) from 学生表)

带any的嵌套查询

举例:查询年龄大于平均年龄的所有学生信息。

           use 数据库
           select * from 学生表
           where 年龄>any
          (select avg(年龄) from 学生表)

举例:查询年龄不等于平均年龄的所有学生信息。

           use 数据库
           select * from 学生表
           where 年龄 <> any
          (select avg(年龄) from 学生表)

带all的嵌套查询

举例:查询成绩没有大于90分的课程信息

           use 数据库
           select * from 课程表
           where 课程编号<>all
          (select 课程编号 from 成绩表 where 成绩>90)

带exists的嵌套查询

举例:查询参加考试的学生信息

           use 数据库
           select * from 学生表
           where exists
          (select 学号 from 成绩表 where 学生表.学号=成绩表.学号 )

举例:查询没有参加考试的学生信息

           use 数据库
           select * from 学生表
           where not exists
          (select 学号 from 成绩表 where 学生表.学号=成绩表.学号 )
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,858评论 18 399
  • 单表查询 只在一个表中查询数据 多表查询 同时查询多个表 说明:这是在学生表student和成绩表SC中查询成绩大...
    爱撒谎的男孩阅读 4,929评论 0 2
  • 一、创建表 创建表Student: 创建表Course: 创建表SC: 二、修改表基本表: alter table...
    流水潺湲阅读 5,566评论 0 0
  • 星期天,下雨了蛋宝宝肯定很冷,我把它放进了柔软的棉花里,吃过早饭我想带它到院子里面看风景,因为下着雨,我们只能透过...
    凌羽凌旭阅读 1,540评论 0 0
  • 你是不是和我一样?也是个不太擅长面对离别的人。 无论是亲人朋友,爱人或者路人。 懦弱,是因为害怕承受失去的后果。 ...
    杨拾一crystal阅读 2,817评论 0 0

友情链接更多精彩内容