나는 두 가지 간단한 테이블이 : (여기에만 "ID"열)두 SQL 테이블을 비교하고 누락 된 ID를 반환 하시겠습니까?
표 :
id
1
2
3
4
표 2 :
id
2
4
SQL 쿼리가 누락 된 두 테이블을 비교해야 " id "를 반환하고 반환 : 1,2
아이디어가 있습니까? :) TY
나는 두 가지 간단한 테이블이 : (여기에만 "ID"열)두 SQL 테이블을 비교하고 누락 된 ID를 반환 하시겠습니까?
표 :
id
1
2
3
4
표 2 :
id
2
4
SQL 쿼리가 누락 된 두 테이블을 비교해야 " id "를 반환하고 반환 : 1,2
아이디어가 있습니까? :) TY
피부에 여러 가지 방법이 고양이가 있습니다
SELECT table1.ID
FROM table1
WHERE table1.ID NOT IN(SELECT table2.ID FROM table2)
아니면 왼쪽 외부를 사용할 수 있습니다 가입 :
SELECT table1.ID
FROM table1
LEFT OUTER JOIN table2 ON table1.ID = table2.ID
WHERE table2.ID IS NULL
첫 번째 쿼리에서 테이블 이름 접두사를 사용하여 어떤 ID 필드를 의미하는지 명확히하기를 제안합니다. 그 이유는 확장 한 경우 매우 혼란 스럽기 때문입니다. 후에. – Polynomial
@Polynomial, 동의 및 업데이트 됨. –
년 전. 그러나 여전히 도움이됩니다. 운이 좋은 답을 찾았습니다. D thx –
select t1.*
from table1 t1
left outer join table2 t2 on t1.id = t2.id
where t2.id is null
@Raihan LEFT OUTER가 주어진 T1에 대해 T2에서 "no rows"를 조인 할 수 있기 때문에 (이 방법은 lynchpin입니다). 누락 된 행은 누락 된 행입니다. 누락되었습니다 :-) –
왜 downvote? – RedFilter
이 시도 :
SELECT table1.id
FROM table1
WHERE table1.id NOT IN(SELECT table2.id FROM table2)
은
지금까지 모든 대답은 table1의 ID가 table2에없는 것을 보여줍니다. column2에 빠진 table2의 모든 결과를 반환하는 쿼리가 필요합니까? –
안녕하세요 폴, 아니요 - 한 가지 방법 만 제가 필요한 것입니다. – MilMike
키워드는 '예외'입니다. MySQL은이 작업을 지원하지 않지만 검색시이를 사용하면 작업과 추가 접근법에 대한 많은 결과가 반환됩니다. (이 질문은 수시로 발생합니다.) –