タイトルに「category1」と「category2」の両方があるかどうかを確認するには、次のSQLクエリを使用できます。
SELECT title
FROM post
JOIN tag ON post.post_id = tag.post_id
WHERE tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category1')
AND tag.tag = 'category2';
他のカテゴリを確認するには、WHERE句を繰り返すだけです。
SELECT title
FROM post
JOIN tag ON post.post_id = tag.post_id
WHERE tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category1')
AND tag.tag_id IN (SELECT tag_id FROM tag WHERE tag = 'category2')
AND tag.tag = 'category3';
これにより、3つのカテゴリすべてを持つタイトルの結果が返されます。