[SQL学习笔记][用exists代替全称量词 ]
2016-04-11 15:41
288 查看
学习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 ) )
--拿出一个学生,对任何一个课程,查看该学生是否选修了。如果未选修,返回该课程。 --如果选修了,则查看下一个课程。。。。 --最终,如果返回的所有课程为空的话说明该学生选修了所有的课程。此时输出该学生的信息
相关文章推荐
- mysql的limit经典用法及优化
- sqlserver2005连接的时候没有服务器名称
- iOS学习笔记16-数据库SQLite
- Hibernate中的sql语句中使用分组查询
- Redis 数据类型
- mysql中datetime比较大小问题
- 利用check_mysql_health监控mysql数据
- spark-sql部署实现与Hive交互
- SqlServer发送邮件
- mysql使用的语句总结
- pl/sql 过程、函数
- NoSql database——Redis
- MySQL 入门(五)—— 表的操作
- T-Sql访问远程数据库
- 有关SQL*PLUS命令使用大全
- SQL SERVER 2008单表分页
- centos 6.7 搭建redis 主从服务
- mysql xtrabackup在线搭建主从
- Oracle比较时间大小
- mysql存储过程详解