假设我有两个表:users
和user_location_data
。我需要在users
内获取所有记录,并将其与user_location_data
中的匹配数据关联,如果存在的话,但如果没有,则仍然得到用户数据。
User ID | Name | Location Data
--------|----------|--------------------------
2 | John |
3 | Jane | Lorem Ipsum
6 | Harry |
9 | Lloyd | Lorem Ipsum
22 | Patricia | Lorem Ipsum
这可以通过简单的循环和多个查询轻松完成,但在我看来这有点像尼安德特人。常规关系查询(例如
SELECT * FROM users u, user_location_data uld WHERE u.user_id = uld.user_id
)只会获取具有匹配位置数据记录的用户。有没有什么方法可以用一个查询来完成? 最佳答案
使用LEFT JOIN
http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html
SELECT * FROM users u LEFT JOIN user_location_data uld ON u.user_id = uld.user_id
关于php - 关联(如果存在),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21735138/