一个学生表(学号,姓名,性别,专业,出生日期),一个课程表(课程号,课程名),一个学生课程表(字段学号,课程号,成绩),求至少选修了学号是1042的学生所选修的全部课程的学生学号和姓名
解决方案 »
- an error occurred while establishing the connection
- mysql administrator建表出错
- postgres 数据库问题 ,很着急各位大哥帮帮忙阿,我要走了,可是走不了。
- com.mysql.jdbc.CommunicationsException
- 如何在MYSQL上做一个定时的操作,更新数据?
- 花了一个夜晚写了一个每天定时备份,恢复mysql数据库的小程序,希望对大家有用
- 我在linux下C编写mysql程序,编译不通过,怎么办???
- 各种数据库最多支持多少个表?
- 请教两条语句那条速度更快
- 操作mysql莫名崩溃
- 有关MySQL的问题,望牛人解惑
- 真怪了,-- 在存储过程不能注释吗?为何用 -- 注释会报错呢?(/* */可以用,但是 -- 为何不能用呢?)
from 学生表 a,学生课程表 b
where a.学号=b.学号
and b.课程号 in (select 课程号 from 学生课程表 where 学号='1042');
即是求,不存在这样的课程,学号为1042的选修了y,而学生x没有选。
用双重not exist去实现就行了。BTW,我记得王珊那本教材里头就有这样的例子,在第三版第三章(数据查询)
select studentid,studentname from studenttb,studentcoursetb
where studenttb.studentid=studentcoursetb.studentid
and courseid in (select courseid from studentcoursetb where studentid=1024