SQL语句问题请高手解答。。。。

风影萧诺 2010-10-31 07:15:46
S (S#,SN,SD,SA)   S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (C#,CN )        C#,CN       分别代表课程编号、课程名称
SC ( S#,C#,G )    S#,C#,G     分别代表学号、所选修的课程编号、学习成绩
 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位

题如上。。 最好做个解答。。。
...全文
89 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
风影萧诺 2010-11-03
  • 打赏
  • 举报
回复
哦 谢谢了
jixiuffff 2010-10-31
  • 打赏
  • 举报
回复
原理是 如果某人全选了,则按它的名字分组后共有n 条数据,而n 正是c 表的长度
jixiuffff 2010-10-31
  • 打赏
  • 举报
回复

CREATE TABLE `c` (
`cid` int(11) DEFAULT NULL,
`cname` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `c` VALUES (1,'class1'),(2,'class2'),(3,'class3');


CREATE TABLE `s` (
`sid` int(11) DEFAULT NULL,
`sname` varchar(25) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `s` VALUES (1,'stu1'),(2,'stu2'),(3,'stu3');


CREATE TABLE `sc` (
`sid` int(11) DEFAULT NULL,
`cid` int(11) DEFAULT NULL,
`cnum` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `sc` VALUES (1,1,11),(1,2,21),(2,1,21),(2,2,21),(2,3,21),(3,2,21);




select sid ,sname from s where sid in ( select mid._sid as msid from (select sid as _sid ,count(cid) as _count from sc group by(sid)) as mid where mid._count=(select count(*) from c ));




13,097

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧