這裏是我的兩個表:我如何總是從一個表中提取數據,但是如果MySQL中有數據,還要從第二個表中提取數據?
綠洲
+-----+-------+
| id | title |
+-------------+
| 234 | a |
| 235 | b |
| 236 | c |
+-----+-------+
user_collection
+----+---------+----------+------+
| id | oasisid | username | data |
+--------------+----------+------+
| 1 | 234 | joe | blah |
| 2 | 235 | bob | blah |
| 3 | 236 | ted | blah |
+----+---------+----------+------+
這裏是我的查詢:
SELECT *
FROM oasis
JOIN user_collection ON oasis.id = user_collection.oasisid
WHERE username = 'greg'
AND oasis.id = '234'
我想在這裏做的是從綠洲和user_collection匹配拉的一切,還要從綠洲提取信息即使在user_collection不匹配。
如何解決我的查詢做到這一點?
只要讓它成爲'LEFT JOIN'。 http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/你需要將你的'USERNAME ='greg''移動到on子句。 – Andrew 2014-12-04 22:10:09
@Andrew你應該把這個評論作爲答案;它解決了問題:) – Barranka 2014-12-04 22:15:15