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'
    )
  • 相关阅读:
    万字总结:学习MySQL优化原理,这一篇就够了!
    sql中自连接的使用
    SQL 优化原则
    Thumbnailator java图片压缩,加水印,批量生成缩略图
    java使用Thumbnailator处理图片
    Mysql优化原则_小表驱动大表IN和EXISTS的合理利用
    MySQL千万级多表关联SQL语句调优
    了解MySQL联表查询中的驱动表,优化查询,以小表驱动大表
    【explain】MySQL联表查询中的驱动表
    pyCharm最新2018激活码
  • 原文地址:https://www.cnblogs.com/SoulReaper/p/3309794.html
Copyright © 2011-2022 走看看