考慮下表:MySQL的SELECT左外連接涉案金額超過2個表
學生((PK)studentID,名字,姓氏,性別,出生日期)
課程((PK)courseCode, courseName,classLevel,信用)
註冊((PK,FK)studentID,(PK,FK)courseCode,等級)
我想寫的是抓住INF查詢Ø爲每一個學生(Students.studentID,Students.firstName,Students.lastName),他們的課程信息(Courses.courseName)和等級(Registration.grade),包括誰學生AREN沒有註冊類的課程名稱和成績欄中爲這些學生返回空值。
據我所知(我還在學習很多),這將需要類似:
Students LEFT OUTER JOIN [some aggregate of Courses and Registration]
但我不知道如何使用MySQL的句法進行格式化。
這裏是我已經有了:
SELECT S.studentID, S.firstName, S.lastName, C.courseName, R.grade
FROM Courses AS C, Students AS S
LEFT OUTER JOIN Registration AS R ON S.studentID = R.studentID
AND R.courseCode = C.courseCode
ORDER BY S.studentID
;
我知道這不好,我得到一個「未知列C.courseCode」的錯誤,所以,語法顯然是關閉的,但這是接近我所能達到我認爲需要的樣子。
感謝您的幫助。我仍然試圖將我在SQL中的工作從我在C中的背景中分離出來(這不斷讓我興奮不已)。這工作完美。 何時何時建立別名時不使用「AS」有什麼區別?它只是喜歡什麼時候縮進等 – user3776749
「可選的。大多數程序員將指定AS關鍵字時,別名列名,但不別名時表別名。」 (見http://www.techonthenet.com/mysql/alias.php) –