column_foo에있는 테이블 y의 행에없는 모든 ID를 table_x에서 어떻게 선택합니까?y 테이블의 column_foo에없는 모든 ID를 선택하십시오.
단일 SQL 쿼리로이 작업을 수행하는 데 어려움을 겪고 있습니다.
column_foo에있는 테이블 y의 행에없는 모든 ID를 table_x에서 어떻게 선택합니까?y 테이블의 column_foo에없는 모든 ID를 선택하십시오.
단일 SQL 쿼리로이 작업을 수행하는 데 어려움을 겪고 있습니다.
가능한 경우 하위 쿼리를 사용하지 않는 것이 좋습니다. INNER JOIN
은 조인 기준을 충족시키는 행만 리턴합니다.
SELECT DISTINCT
x.id
FROM
table_x x
INNER JOIN table_y y ON (x.id = y.id_column_in_y)
LEFT JOIN을 사용합니다. 자세한 설명과 예는 여기에 있습니다.
어쩌면 당신은 같은 작업을 수행 할 수 있습니다
SELECT id FROM table_x WHERE id NOT IN (SELECT column_foo FROM table_y);
SELECT id FROM x
WHERE NOT EXISTS (SELECT * FROM y WHERE foo = id)
또는
SELECT id FROM x
WHERE id NOT IN (SELECT foo FROM y)
또는 y.foo
경우
SELECT x.id FROM x
LEFT JOIN y ON x.id = y.foo
WHERE y.foo IS NULL