返回信息流数据库作业,一个学生选课数据库,指定一个学生,该生选了n门课,找出所有选课包含这n门课的学生~~怎么写SQL,见一个学长实验报告中写是course>=all(...),不过觉着不怎么对啊~
这是一条镜像帖。来源:北邮人论坛 / database / #5380同步于 2011/4/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
【求教】kingbase如何用SQl实现判断子集~~
cx351864995
2011/4/1镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
bd,另外如果问"怎么写SQL"的话把问题的条件描述清楚吧,如用的什么数据库、各表大致结构等
SELECT SNAME
FROM sc
WHERE Cname
IN (
SELECT `Cname`
FROM sc
WHERE `Sname` = "A"
)
GROUP BY Sname
HAVING count( * ) =2
这是用mysql写的,指定学生A,Sname为学生,Cname为课程
【 在 cx351864995 (小菜) 的大作中提到: 】
: 数据库作业,一个学生选课数据库,指定一个学生,该生选了2门课,找出所有选课包含这两门课的学生~~怎么写SQL,见一个学长实验报告中写是course>=all(...),不过觉着不怎么对啊~
最后一句不是很懂,*指的什么啊~就是其实不一定是2门就是找出选课包好所指定的A选的所有课的学生~~有的绕~就是假如a选了n门,找出选课包含这n门的所有的学生~开始我也用in了,不过in是指条件之一就可以吧~这样写选出的学生不一定选了指定那人所有的选课吧~~
【 在 doubleKO 的大作中提到: 】
: bd,另外如果问"怎么写SQL"的话把问题的条件描述清楚吧,如用的什么数据库、各表大致结构等
: SELECT SNAME
: FROM sc
: ...................
最后一句就是用来解决你所说的"in"的问题,当然还有别的方法
【 在 cx351864995 的大作中提到: 】
: 最后一句不是很懂,*指的什么啊~就是其实不一定是2门就是找出选课包好所指定的A选的所有课的学生~~有的绕~就是假如a选了n门,找出选课包含这n门的所有的学生~开始我也用in了,不过in是指条件之一就可以吧~这样写选出的学生不一定选了指定那人所有的选课吧~~
: 【 在 doubleKO 的大作中提到: 】
: : bd,另外如果问"怎么写SQL"的话把问题的条件描述清楚吧,如用的什么数据库、各表大致结构等
: ...................
那要是像我说的不知道几门课,咋整~
【 在 doubleKO 的大作中提到: 】
: 最后一句就是用来解决你所说的"in"的问题,当然还有别的方法
: 【 在 cx351864995 的大作中提到: 】
: : 最后一句不是很懂,*指的什么啊~就是其实不一定是2门就是找出选课包好所指定的A选的所有课的学生~~有的绕~就是假如a选了n门,找出选课包含这n门的所有的学生~开始我也用in了,不过in是指条件之一就可以吧~这样写选出的学生不一定选了指定那人所有的选课吧~~
: ...................
【 在 cx351864995 的大作中提到: 】
: 那要是像我说的不知道几门课,咋整~
重复下你的问题,就是找出有选A所选的课程的学生?
那找出A所选的课程再 IN 一下不就行了?
不用判断A选了几门课啊
in出来的话就是选了a选的就行,而不是把a选的都选了~
【 在 ipfox 的大作中提到: 】
:
: 【 在 cx351864995 的大作中提到: 】
: : 那要是像我说的不知道几门课,咋整~
: ...................