以下是伪查询,所以我不关心结果,但是以下 MySQL 查询之间是否存在任何差异(在性能、结果数量等方面)?
查询 1
SELECT u.`username`, COUNT(*) AS 'posts', u.`age`
FROM `users` u
INNER JOIN `posts` p
ON p.`user_id`=u.`id`
GROUP BY u.`id`
HAVING u.`age` > 12
假设smth
这个查询中的列只是为了HAVING
条件而被选择的,所以结果中不需要它的值。
查询 2
SELECT u.`username`, COUNT(*) AS 'posts'
FROM `users` u
INNER JOIN `posts` p
ON p.`user_id`=u.`id` AND u.`age` > 12
GROUP BY u.`id`