匹配嵌套select语句返回的所有行

时间:2014-03-09 14:24:23

标签: mysql sql select relational-database relational-algebra

我正在尝试找到学生的名字,他们选择了特定教师提供的所有课程(其表格由内部选择声明返回。)但是我的查询返回了参加任何课程的学生表格。

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中缺少一个简单的关键字。谢谢你的帮助。

1 个答案:

答案 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');

试试这个:)请根据您的架构进行安排