使用MySQL连接三个表

使用MySQL连接三个表

我有三张桌子


**Student Table**

-------------

id    name

-------------

1     ali

2     ahmed

3     john

4     king


**Course Table**

-------------

id    name

-------------

1     physic

2     maths

3     computer

4     chemistry


**Bridge**

-------------

sid    cid

-------------

1     1

1     2

1     3

1     4

2     1

2     2

3     3

3     4

4     1

4     2

现在用他学过的课程名称来显示学生的名字,


**Result**

---------------------------

Student        Course

---------------------------

ahmed         physic

ahmed         maths

ahmed         computer

ahmed         chemistry

ali           physic

ali           maths

john          computer

john          chemistry

king          physic

king          maths

我构建以下查询


select s.name as Student, c.name as Course from student s, course c join bridge b on c.id = b.cid order by s.name

但它不返回所需的结果.。


如果我想找出谁是经理而不是其他人,那么规范化的表格应该是什么呢?


**employee**

-------------------

id        name

-------------------

1         ali

2         king

3         mak

4         sam

5         jon


**manage**

--------------

mid      eid

--------------

1         2

1         3

3         4

4         5

想要得到这样的结果:


**result**

--------------------

Manager      Staff

--------------------

ali          king

ali          mak

mak          sam

sam          jon


qq_遁去的一_1
浏览 2227回答 3
3回答

白衣非少年

只需使用:select s.name "Student", c.name "Course"from student s, bridge b, course cwhere b.sid = s.sid and b.cid = c.cid
打开App,查看更多内容
随时随地看视频慕课网APP