我需要從3個不同的表中獲取數據。我知道關於JOIN的基本知識,但是涉及到更復雜的查詢,例如使用JOIN從3個或更多表中獲取數據時,我有點困惑,我開始玩查詢,寫下對我有意義的查詢,如下一個:這是MySQL查詢一個JOIN,一個普通的查詢或兩者?
SELECT movies.imdbID,
movies.title,
movies.year,
movie_ratings.votes,
movie_ratings.total_value,
movie_ratings_external.votes,
movie_ratings_external.total_value
FROM movies, movie_ratings_external
LEFT JOIN movie_ratings ON movie_ratings.imdbID = movie_ratings_external.imdbID
WHERE movies.imdbID = movie_ratings_external.imdbID
ORDER BY movie_ratings.votes DESC, movie_ratings_external.votes DESC
LIMIT 30
此查詢適用。我從正確的表格中選擇了字段並按照正確的方式排序,但我認爲我正在混合一些東西(比如定期查詢兩個表並在兩個表之間加入JOIN),我相信這是更好/更高效的方法來完成同一個purpouse。
任何數據庫怪胎可用?