3つのテーブルがあります
**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
ベストアンサー1
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