我有这张桌子
table1 table2 table3
--------------- ---------------------------- ---------------------
NO. courses NO. id courses grade NO. courses
--------------- ----------------------------- ---------------------
1 CHEM 101 1 2255 CHEM 101 A+ 2 English
2 ENGL 101 2 2255 English A
3 MATH 101
我如何编写SQL查询以通过以前表中的id检索数据,以便给我这样的表,其中它们之间的关系为NO。
----------------------------------------
course grade equal of my courses
----------------------------------------
CHEM 101 A+ null
ENGL 101 A English
MATH 101 null null
答案 0 :(得分:2)
你需要在桌面上使用PK和FK将它们连接在一起,否则它就是你的例子中的一个crapshoot。
答案 1 :(得分:1)
您应该使用LEFT JOIN。我假设NO是一个维持所有表之间关系的列名
SELECT t1.courses,t2.grade,t3.courses AS 'equal of my courses'
FROM table1 t1
LEFT JOIN table2 t2
ON t1.NO = t2.NO
LEFT JOIN table3 t3
ON t2.NO = t3.NO;