Всъщност не бих препоръчал JOIN за това — или по-скоро бих препоръчал "semijoin ", което е концепция за релационна алгебра, която не е пряко изразена в SQL. Полусъединяването е по същество съединение, при което искате да извлечете записи само от една таблица, но при условие, че те имат съответни записи в различна таблица.
В SQL нотацията тази концепция се изразява индиректно, като се използва IN
клауза
, с подзаявка
:
SELECT key, value
FROM comments
WHERE key IN
( SELECT comment_key
FROM meta
WHERE value = 1
)
;
(MySQL всъщност ще преведе това обратно в полусъединяване вътрешно – по същество нещо като изродено вътрешно свързване – но IN
клаузата е естественият начин да се изрази в необработен SQL.)