我怎样才能找到这个查询

时间:2016-11-24 21:40:31

标签: sql sql-server join

我想与老师course_id选择艾米的学生id

我该怎么做?

学生表:

| ID      | name      | dept_name      | tot_cred      |
| S2905   | Lily      | Elec.Eng.      | 54            |
| S2906   | Ella      | Elec.Eng.      | 32            |
| S3901   | Amy       | Music          | 23            |

采取表:

| ID      | course_id| sec_id| semester      | year      | grade      |
| S3901   | HIS-351  | 1     | Spring  | 2010      | A  |
| S3901   | MTH-101  | 1   | Fall    | 2009      | B- |
| S3901   | MU-101   | 1   | Spring  | 2009      | A  |
| S3901   | MU-199   |1    | Spring  | 2010      | A- |
| S3902   | HIS-35   | 1   | Spring  | 2010      | B  |
| S3902   | MTH-101  | 1   | Fall    | 2009      | B+ |
| S3902   | MU-101   | 1   | Spring  | 2009      | A  |

| ID      | course_id      | sec_id      | semester      | year      |
| 76766   | BIO-101        | 1           | Summer        | 2009      |
| 76766   | BIO-301        | 1           | Summer        | 2010      |
| 10101   | CS-101         | 1           | Fall          | 2009      |
| 45565   | CS-101         | 1           | Spring        | 2010      |
| 83821   | CS-190         | 1           | Spring        | 2009      |

1 个答案:

答案 0 :(得分:0)

您好我建议您在编写sql时做一些阅读,因为这是一个非常基本的查询。

MSDN是所有SQL SERVER的重要信息来源,网上有很多要学习的文章,例如http://www.sqlservercentral.com/stairway/上的文章的阶梯

波纹管应该做你想做的事。

SELECT t.course_id
       ,te.Id
FROM Student s
INNER JOIN Takes t
    ON t.id = s.id
INNER JOIN Teaches te
    ON te.course_id = t.course_id
WHERE s.name = 'amy'