В качестве примера, я хочу получить список всех элементов с определенными тегами, применяемыми к ним. Я мог бы выполнить одно из следующих действий:
SELECT Item.ID, Item.Name
FROM Item
WHERE Item.ID IN (
SELECT ItemTag.ItemID
FROM ItemTag
WHERE ItemTag.TagID = 57 OR ItemTag.TagID = 55)
или
SELECT Item.ID, Item.Name
FROM Item
LEFT JOIN ItemTag ON ItemTag.ItemID = Item.ID
WHERE ItemTag.TagID = 57 OR ItemTag.TagID = 55
GROUP BY Item.ID, Item.Name
Или что-то совсем другое.
В целом (при условии, что существует общее правило), какой более эффективный подход?