以下查詢嘗試執行可表示爲@users.courses
(其中@ user.id = 1)的內容。我給這個信息,我不能完全肯定這是否是正確的,因爲查詢不會運行SQL抱怨現有字段
SELECT * FROM courses WHERE courses.id =
courses_users.user_id AND courses_users.user_id = 1
SQL抱怨:
#1054 - 未知列「courses_users.user_id」在'where子句中'
我確定所有這些字段都存在,所以我不確定我在做什麼錯。
如果我發現沒有'JOIN'查詢更容易理解它是一個問題嗎?它被認爲是「壞代碼」? – Bula
隱式聯接(第一個示例)在大多數RDBMS中都被視爲棄用。他們不是嚴格禁止的,但是繼續使用它們通常被認爲是不好的做法。 – Mureinik
另外我剛剛發現爲了實現我使用rails語法描述的第二行必須替換爲'courses.id = courses_users.course_id' – Bula