Ich habe drei Tabellen benannt
**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
Um nun den Schülernamen mit dem Kursnamen zu zeigen, den er studiert hatte,
**Result**
---------------------------
Student Course
---------------------------
ahmed physic
ahmed maths
ahmed computer
ahmed chemistry
ali physic
ali maths
john computer
john chemistry
king physic
king maths
Ich baue folgende Abfrage
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
Es wird jedoch nicht das gewünschte Ergebnis zurückgegeben ...
Und was wäre für eine normalisierte Form, wenn ich herausfinden möchte, wer Manager über andere ist:
**employee**
-------------------
id name
-------------------
1 ali
2 king
3 mak
4 sam
5 jon
**manage**
--------------
mid eid
--------------
1 2
1 3
3 4
4 5
Und will dieses Ergebnis bekommen:
**result**
--------------------
Manager Staff
--------------------
ali king
ali mak
mak sam
sam jon