0
mysql 데이터베이스의 하위 쿼리에 건의 질문이 있습니다. book
테이블에 author_id
및 author
테이블이 있고 id
및 name
인 테이블이 있다고 가정합니다. 나는 각 저자에 대한 책의 수를 가진 저자 목록을 얻고 싶다. 그래서이 쿼리를 사용합니다 :최적화 된 방식으로 하위 쿼리에서 COUNT를 선택하는 방법
SELECT a.id as id, a.name as name,
(SELECT COUNT(*) FROM book b WHERE b.author_id = a.id) as count
From author a
이 문제는 아무런 문제없이 작동합니다. 그러나 알고 싶습니다. 이 솔루션은 이러한 예제에 가장 적합하고 최적화 된 솔루션입니까? 그렇지 않은 경우 이러한 문제에 대한 더 나은 해결 방법이 있습니까?
감사합니다.
모든 저자가 책을 테이블에 책이있는 경우
left join
를 사용하면 더 좋을 것입니다, 다른inner join
최적 일 것이다. – Barmar