zoukankan      html  css  js  c++  java
  • [SQL学习笔记][用exists代替全称量词 ]

    学习sql的必经问题。

    • 学生表student (id学号 Sname姓名 Sdept所在系)
    • 课程表Course (crscode课程号 name课程名)
    • 学生选课表transcript (studid学号 crscode课程号 Grade成绩)

    Question: 对以上表进行查寻选修了全部课程的学生姓名

    --查询选修了所有课程的学生  
    --不存在这样的课程该学生没有选修
    select *  
    from student s  
    where not exists   
    (  
    select *  
    from course c  
    where not exists  
    (  
    select *  
    from transcript t  
    where s.id = t.studid and c.crscode = t.crscode  
    )  
    )  
    
    --拿出一个学生,对任何一个课程,查看该学生是否选修了。如果未选修,返回该课程。  
    --如果选修了,则查看下一个课程。。。。  
    --最终,如果返回的所有课程为空的话说明该学生选修了所有的课程。此时输出该学生的信息    
    
  • 相关阅读:
    HDU-5384
    UVALive 5099
    ZOJ-2753
    HUD-5379
    HDU-5360
    HDU-5351
    HDU-5335
    HDU-5317
    HDU-2487
    常用十六进制颜色对照表代码查询
  • 原文地址:https://www.cnblogs.com/zy691357966/p/5480254.html
Copyright © 2011-2022 走看看