我有以下查询:
SELECT count(*)
FROM User u
INNER JOIN NAME n
ON u.UserId = n.UserId
AND n.last = 'Joe';
--returns 1943
SELECT count(*)
FROM User u
WHERE u.UserId IN (
SELECT n.UserId
FROM NAME n
WHERE n.last = 'Joe'
);
--returns 1875
UserId 是表 User 中的主键,表 Name 中的外键(不唯一)。
为什么连接查询返回的行数比嵌套选择查询多?他们不应该是一样的吗?
谢谢。