我有三个名为
的表**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
现在显示学生姓名和他所学的类(class)名称,
**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
最佳答案
使用 ANSI 语法,如何连接表会更加清晰:
SELECT s.name as Student, c.name as Course
FROM student s
INNER JOIN bridge b ON s.id = b.sid
INNER JOIN course c ON b.cid = c.id
ORDER BY s.name
关于mysql - 使用 MySQL 连接三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41636608/