태그 검색 sql
-
다중 태그 검색 SQL문DB 2021. 10. 31. 21:39
post 테이블과 tag 테이블이 있고, 두 테이블을 매핑하는 post_tag_relation이라는 테이블이 있다고 가정한다. 사용자가 여러 개의 태그를 모두 가지고 있는 포스팅만을 조회한다고 할 때의 SQL 문은 아래와 같다. SELECT post_id FROM post_tag_relation WHERE tag_id IN (SELECT id FROM tag WHERE name IN ('tag1','tag2')) GROUP BY post_id HAVING COUNT(tag_id) >= 2; 위의 SQL문을 조금 더 최적화하려면, 서브쿼리를 조인으로 바꾸면 된다. left outer join이 서브쿼리보다 빠르기 때문이다. (출처: https://stackoverflow.com/questions/25771..