[SQL] SQL : 체크 테이블 A의 항목은 테이블 B에있는 경우
SQLSQL : 체크 테이블 A의 항목은 테이블 B에있는 경우
나는 매우 잘 유지되지 않는 알고 정의 테이블이, 테이블 A의 부분 집합이어야한다 이상적으로 훨씬 작은 것을 (이 테이블 B를 호출) 내가 다른 테이블이이 테이블 A를 호출 할 수 있습니다하지만 난 그 테이블 A를 알고 다소 오래된이며, 표 B에있는 새 항목을 포함하지 않습니다
참고, 테이블 A와 B가 서로 다른 열이 있는지 확인하십시오.
Table A:
ID, Name, blah, blah, blah, blah
Table B:
ID, Name
내가 표 B의 모든 행을 원하는 테이블 B의 ID 단지 표 A의 행과 일치하지 않는 표 A.이 존재하지 않도록; 나는 ID가 테이블 A에 전혀 존재하지 않는 테이블 B의 행만을 원하는
해결법
-
==============================
1.
SELECT * FROM B WHERE NOT EXISTS (SELECT 1 FROM A WHERE A.ID = B.ID)
-
==============================
2.거의 모든 환경에서 작동하는 고전적인 대답은
거의 모든 환경에서 작동하는 고전적인 대답은
SELECT ID, Name, blah, blah FROM TableB TB LEFT JOIN TableA TA ON TB.ID=TA.ID WHERE TA.ID IS NULL
때때로 (작동하지 않는) 구현되지 수있다 존재합니다.
-
==============================
3.당신이 사용에 설정된 경우 SQL 서버에서 아래를 사용할 수 있습니다 존재합니다
당신이 사용에 설정된 경우 SQL 서버에서 아래를 사용할 수 있습니다 존재합니다
SELECT * FROM TableB as b WHERE NOT EXISTS ( SELECT * FROM TableA as a WHERE b.id = a.id )
-
==============================
4.이것은 또한 작동
이것은 또한 작동
SELECT * FROM tableB WHERE ID NOT IN ( SELECT ID FROM tableA );
-
==============================
5."NOT EXISTS"경우 또는 구현되지 않습니다
"NOT EXISTS"경우 또는 구현되지 않습니다
SELECT * FROM B WHERE (SELECT count(*) FROM A WHERE A.ID = B.ID) < 1
from https://stackoverflow.com/questions/15938180/sql-check-if-entry-in-table-a-exists-in-table-b by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 큐브, 롤업 및 GROUPBY 사업자의 차이점은 무엇입니까? (0) | 2020.07.21 |
---|---|
[SQL] 왜 임시 테이블과 부속 사이에 거대한 성능 차이가있다 (0) | 2020.07.21 |
[SQL] 절은 특정 달의 모든 레코드를 찾기 위해 WHERE (0) | 2020.07.21 |
[SQL] 이 필드를 $ X를 포함하지 않는 SQL 쿼리 (0) | 2020.07.21 |
[SQL] 나는 테이블 설명 (필드 이름과 유형)를 얻을 수있는 방법 Sybase 데이터베이스에서? (0) | 2020.07.21 |