我正在尝试找到学生的名字,他们选择了特定教师提供的所有课程(其表格由内部选择声明返回。)但是我的查询返回了参加任何课程的学生表格。
select distinct name
from takes natural join (select distinct course_id
from instructor natural join teaches
where name like '%ck') as t natural join student
where dept_name='Biology'
我可以发布数据库的整个架构,但实际上这将是一个打捞。我可能在mysql中缺少一个简单的关键字。谢谢你的帮助。
答案 0 :(得分:1)
我有一个解决方案dunno是最好的与否,但它将适用于这种情况
select name
from student
where id in (select id from takes where teacher like '%a')
group by name
having count(id) =
(select count(id) from takes where teacher like '%a');
试试这个:)请根据您的架构进行安排