一、使用例子
一张是表是用户表,一张是检查记录表,检查记录表中存了用户的id
如果用户表中的某些用户在检查记录表中没有对应的记录,那么使用等值连接将不会返回这些用户的信息。如果您希望即使某些用户没有检查记录也返回他们的信息(检查记录部分为空),那么您应该使用左连接(LEFT JOIN)。
- 使用等值连接(INNER JOIN)的SQL语句:
SELECT users.*, checks.*
FROM users
INNER JOIN checks ON users.id = checks.user_id
WHERE users.id = ?
- 使用左连接(LEFT JOIN)的SQL语句:
SELECT users.*, checks.*
FROM users
LEFT JOIN checks ON users.id = checks.user_id
WHERE users.id = ?;
如果您确定每个用户至少有一条检查记录,或者您只对有检查记录的用户感兴趣,那么使用等值连接是合适的。如果您想要确保即使没有检查记录的用户也被列出,那么应该使用左连接。