當我談到MySQL時,我仍然在學習,我試圖將問題與它的答案組合在一起(就像你會在學校進行測試一樣)。下面是我和我的查詢得到的結果:來自LEFT_JOIN的意外結果。 (返回空值)
預期的結果是底部的4行,所有的數據是可用的。這個(對我來說)更令人困惑的部分是,我的任何列中的值都不是NULL
,所以我不明白爲什麼它會被返回。
是LEFT_JOIN
不是正確的方法來執行此?如果不是,那是什麼?很感謝鏈接到詳細的文檔。
這裏是我當前的查詢:
SELECT
Q.question_id,
Q.question,
Q.account_id,
A.answer,
A.correct
FROM quiz_answers A LEFT JOIN quiz_questions Q ON
A.question_id = Q.question_id
AND A.account_id = Q.account_id
AND A.account_id = 48
AND Q.account_id = 48
ORDER BY Q.question_id;
查詢仍返回不符合條件的行,但與NULL
,而不是數據填充的結果。查詢的預期結果是上面提供的圖像中的底部4行。
將'AND A.account_id = 48 AND Q.account_id = 48'移到where條件而不是連接子句。 –
http://blog.codinghorror。com/a-visual-explanation-of-sql-joins/ –
@AbhikChakraborty這就是我想要的,謝謝。似乎它會產生相同的結果,只是閱讀它。 – Hobbyist