全部!我正在参加数据库课,并有几个问题对我来说非常混乱。下面是我的表格我们如何选择接受戴维森教授的所有课程的学生,以及如何选择教授至少3个班级的所有教师姓名?
Student(S_ID, S_FIRST_NAME, S_LAST_NAME, S_MAJOR)
Course(C_ID, C_NAME, C_INST_NAME, C_ROOM)
takes(S_ID,C_ID)
Q-1.i想要选择所有参加戴维森授课的所有课程的student_id。我试着用这个代码
select s.S_ID from student s inner join (select t.S_ID from takes t inner join
course c on t.C_ID = c.C_ID group by t.S_ID having sum(case when c.C_INST_NAME
= 'Davidson' then 1 else 0 end) = 3) t on s.S_ID = t.S_ID;
它的作品,因为我知道戴维森多少班教(在我的情况3)。如果我们不知道他教授的课程有多少,我们如何编写查询?
Q-2。我想选择教授至少3班的所有教师。对于这个问题我没有以下
select distinct C_INST_NAME from course where C_ID >= 3;
+-------------+
| C_INST_NAME |
+-------------+
| Peterson |
| Davidson |
| Jackson |
| Hanney |
+-------------+
但我得到了所有的教练,任何帮助,将不胜感激谢谢!
请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry