zoukankan      html  css  js  c++  java
  • 数据库之子查询三(在SQL语句中使用子查询)

    在SQL语句中使用子查询
    (select,from,having,where,oder by,create table,create view,insert,update,delete)
    一、select子句中子查询:
    1.select r.stuID,
       (select stuName
       from tstudent
       where stuID=r.stuID) as stuName,r.result,r.curID
       from tresult r
       where r.stuID='s102203'
       order by r.result asc
       和下面对比:
    2.select r.stuID,s.stuName,r.result,r.curID
       from tresult r,tstudent s
       where r.stuID='s102203'
       order by r.result asc
    //得到:子查询在这里起到的作用就是在tstudent表中筛选stuName,否则显示的时候所有的stuName将会全出来(如2.)
    二、from字句中的子查询:
    select r.curID,r.curID,c.curName,r.result
    from tcurriculum c,
    (select curID,stuID,result
     from tresult) r
    where r.curID=c.curID
    and r.stuID='s102203'
    order by r.result asc
    //此时的子查询是从tresult中提取出一个虚拟的子表来用r命名,再执行外查询
    三、having子句中的子查询
    select r.curID,avg(r.result)
    from tresult r,tcurriculum c
    where r.curID=c.curID
    group by r.stuIDgroup by r.stuID
    having r.stuID in       //或者(any,all)
    (select stuID
    from tstudent
    where stuID like 's2%'
    )
    order by r.stuID
    //此时的子查询就是找出having中满足的条件,然后对分组进行限制
  • 相关阅读:
    ThreadLocal内存泄漏真因探究(转)
    JAVA设计模式工厂模式
    java设计模式单例模式
    Java-Socket
    Java-Queue总结
    Java-Reentrantlock
    Java-Iterator遍历集合
    安装和启动docker
    C# System.Reflection.Assembly动态加载资源文件
    C#调用 kernel32.dll
  • 原文地址:https://www.cnblogs.com/SoulReaper/p/3309795.html
Copyright © 2011-2022 走看看