zoukankan      html  css  js  c++  java
  • SQL--子查询

    什么是子查询

    子查询:顾名思义,在一个查询中,有另外一个查询,这个查询就叫做,主查询的子查询。

    【把一个查询的结果,在另一个查询中使用就叫子查询。(将一个查询语句,作为一个结果集,供其他SQL语句使用)】

    --需求:找出所有‘软件11108班’的学生信息。

    分析:在学生表中,我们没有存,班级名称是“软件1108”班的信息,我们存的是,班级的ID。

    所以第一步:我们先从班级表中,找出‘软件1108班’的班级ID,

    然后第二步,根据班级ID,找出对应的学生信息;

    SELECT CourseID FROM dbo.Class WHERE CourseName='软件1108'
    SELECT * FROM dbo.Student WHERE Student_CourseID=(SELECT CourseID FROM dbo.Class WHERE CourseName='软件1108')

    需求:找出所有班级名称是软件1103班以后的学生信息。

    分析:先找出所有班级是软件1103班,以后的班级信息,然后根据这些班级信息找出满足条件的学生信息。

    第一步:找出班级是软件1103班的班级信息:

    SELECT CourseID FROM dbo.Class WHERE CourseName='软件1103'

    第二步:找出所有大于软件1103班的班级ID【1103班以后的】

    SELECT * FROM dbo.Class WHERE CourseID>(SELECT CourseID FROM dbo.Class WHERE CourseName='软件1103')

    第三步:找出所有班级是软件1103班以后的学生信息

    SELECT * FROM dbo.Student WHERE Student_CourseID IN(SELECT CourseID FROM dbo.Class WHERE CourseID>(SELECT CourseID FROM dbo.Class WHERE CourseName='软件1103'))

    这里用到了两个子查询。

  • 相关阅读:
    django QQ认证登录
    python mixin到底是什么 django
    Django View类的解析
    [置顶] 十道海量数据处理面试题
    Epoll简介以及例子
    GCC在C语言中内嵌汇编 asm __volatile__
    在FireBug中计算Javascript 运行时间
    Two Sum
    Longest Consecutive Sequence
    Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/caofangsheng/p/5137458.html
Copyright © 2011-2022 走看看