这里是我的两个表:我如何总是从一个表中提取数据,但是如果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