zoukankan      html  css  js  c++  java
  • 数据库之子查询二(相关子查询)

    四、相关子查询(exists,not exists)
        通过子查询的反复执行逐一查询每一行,从而确定内容是否满足条件(返回值为true或者false),从而决定是否显示外查询内容(可以是同一数据表或者不同数据表)
        和连接查询功能基本一样,但是实现方式不一样,连接查询适合查询循环次数过多的时候
        个人觉得连接查询比较好用
        格式: select 表1.字段1.......
                    from 表1
                    where exists
                    (
                    select *
                    from 表2
                    where
                    表1.字段1=表2.字段1
                    and.........    
                    )
        
    举例:
    1.相关子查询
    select s.stuID,s.stuName,s.age,s.sex,s.birth
    from tstudent s
    where exists
    (
    select *
    from tresult t
    where s.stuID=t.StuID
    and t.curID='t105'
    )
    2.内连接查询:
    select s.stuID,s.stuName,s.age,s.sex,s.birth
    from tstudent s,tresult t
    where s.stuID=t.stuID
    and t.curID='t105'
    3.using优化内连接查询
    select s.stuID,s.stuName,s.age,s.sex,s.birth
    from tstudent s join tresult t
    using (`stuID`)
    where t.curID='t105'
    4.on形式内连接查询
    select s.stuID,s.stuName,s.age,s.sex,s.birth
    from tstudent s join tresult t
    on s.stuID=t.stuID
    where t.curID='t105'
    以上四种结果相同
    5.not exists返回为无结果时为true,显示结果
    例子:
    select s.stuID,s.stuName,s.age,s.sex,s.birth
    from tstudent s
    where not exists
    (
    select *
    from tresult t
    where s.stuID=t.StuID
    and t.curID='t105'
    )
  • 相关阅读:
    docker安装nginx
    docker安装tomcat&部署javaweb程序
    linux/work
    Go语言入门篇-gRPC基于golang & java简单实现
    Go语言入门篇-jwt(json web token)权限验证
    Go语言入门篇-JSON&http调用
    Go语言入门篇-基本流程控制
    Go语言入门篇-基本类型排序和 slice 排序
    Go语言入门篇-高级数据类型
    Go语言入门篇-基本数据类型
  • 原文地址:https://www.cnblogs.com/SoulReaper/p/3309794.html
Copyright © 2011-2022 走看看