您的位置:首页 > 数据库 > MySQL

Mysql语句实现多表查询问题[试题]

2013-09-15 09:33 302 查看
建立三个表 student id,name  
course id, name   sc sid cid id grade     其中sid,cid为对应的外键

1选了为math科目的所有学生的id、姓名

SELECT * FROM student WHERE id IN (SELECT sid FROM sc WHERE cid = (SELECT id FROM course WHERE NAME='math'))

2  查询各个科目得分最高的学生的学号和姓名

此句mysql无法执行,oracle应该是可以执行的

SELECT * FROM student WHERE id IN (SELECT t FROM (SELECT MAX(z.`grade`) ,cid FROM sc z WHERE cid IN (SELECT DISTINCT(cid) FROM sc z,course c WHERE z.cid =c.id) GROUP BY cid ))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐