2015-10-14 131 views
1

所以表中选择......我们在这里......这不是一个简单的问题,所以首先请仔细阅读请...从依赖于其他2个关系

这些都是我的表

courses

instructor

teaches

  • 第一个图像是courses
  • 二是instructors
  • 第三个是teaches

现在我想的instructors谁是teaching一些courses有4个学分的名字

我试过这个:

SELECT * 
FROM teaches 
INNER JOIN course ON (course.course_id = teaches.course_id 
AND course.credits =4) 

但是它尚未完成,...我知道哪些课程有4个学分,但我不知道如何使这个查询和表称为教官

+1

也许不是很简单,因为你还在研究这个,应该问你的老师? –

+0

其实......不......因为老师在考试中给我们这个问题,没人能写出答案!我曾多次使用sql,但这不是一个简单的查询使用! –

+1

您可以与我们分享您试图编写查询的方式吗? – Shadow

回答

0
SELECT i.name 
FROM instructor I 
JOIN teaches T 
    ON I.ID = T.ID 
JOIN courses C 
    ON C.course_id = T.course_id 
WHERE C.credits = 4 
+0

你是最棒的!不可思议!!!!! –

0

以简单的方式的另一种选择之间的关系......

select * from instructors 
    where id in (select distinct id 
       from teaches 
       where course_id in (select distinct course_id 
            from courses 
            where credits = 4 
            ) 
      );