[SQL] 나는 완전 외부 쓰기 어떻게 액세스 쿼리에 가입
SQL나는 완전 외부 쓰기 어떻게 액세스 쿼리에 가입
원래 쿼리 :
SELECT *
FROM AA
FULL OUTERJOIN BB on (AA.C_ID = BB.C_ID);
어떻게 Access에서 호환되도록하는 위의 쿼리를 변환합니까?
나는 가정입니다 :
SELECT *
FROM AA
FULL LEFT JOIN BB ON (AA.C_ID = BB.C_ID);
나는 내가 제대로 액세스와 호환 쿼리에 첫 번째 쿼리를 변환 오전하기 전에 "FULL"기준 처리하지?
해결법
-
==============================
1.AA 및 BB (즉, 모두 동일한 값)에 중복 된 행이없는 가정이 완전 외부 조인 및 바로 가입 좌측의 결합에 상응한다.
AA 및 BB (즉, 모두 동일한 값)에 중복 된 행이없는 가정이 완전 외부 조인 및 바로 가입 좌측의 결합에 상응한다.
SELECT * FROM AA LEFT JOIN BB ON AA.C_ID = BB.C_ID UNION SELECT * FROM AA RIGHT JOIN BB ON AA.C_ID = BB.C_ID
거기에 중복 행이 (당신이 그들을 유지하려는) 경우 AA.C_ID가 마지막에 NULL 또는 AA에서 기록을 해당하지있을 경우에만 null의 다른 분야이고, 추가 할 수 있습니다.
편집하다:
여기에 유사한 접근 방법을 참조하십시오.
그것은 더 자세한 권장하지만, 더 성능이 좋은
SELECT * FROM AA JOIN BB ON AA.C_ID = BB.C_ID UNION ALL SELECT * FROM AA LEFT JOIN BB ON AA.C_ID = BB.C_ID WHERE BB.C_ID IS NULL UNION ALL SELECT * FROM AA RIGHT JOIN BB ON AA.C_ID = BB.C_ID WHERE AA.C_ID IS NULL
그러나,이 AA.C_ID 및 BB.C_ID가 null이 아닌 것으로 가정합니다.
-
==============================
2.더 효율적이고 빠른 코드 :
더 효율적이고 빠른 코드 :
SELECT * FROM AA LEFT JOIN BB ON AA.C_ID = BB.C_ID UNION ALL SELECT * FROM AA RIGHT JOIN BB ON AA.C_ID = BB.C_ID WHERE AA.C_ID IS NULL
-
==============================
3.나는 필드 이름이 두 테이블에 같은 경우 그들이 * 연산자를 사용하는 대신, 나열 할 필요가 있음을 발견했다. 또한, 두 번째 SELECT 문은 다른 테이블을 참조 할 필요가있다. 단순히 BB 테이블에있는 행의 포함을 허용하지 않습니다 JOIN 처음과 같은 SQL을 사용하고 RIGHT로 변경.
나는 필드 이름이 두 테이블에 같은 경우 그들이 * 연산자를 사용하는 대신, 나열 할 필요가 있음을 발견했다. 또한, 두 번째 SELECT 문은 다른 테이블을 참조 할 필요가있다. 단순히 BB 테이블에있는 행의 포함을 허용하지 않습니다 JOIN 처음과 같은 SQL을 사용하고 RIGHT로 변경.
SELECT AA.C_ID FROM AA LEFT JOIN BB ON AA.C_ID = BB.C_ID UNION ALL SELECT BB.C_ID FROM BB LEFT JOIN AA ON AA.C_ID = BB.C_ID WHERE AA.C_ID IS NULL;
from https://stackoverflow.com/questions/19615177/how-do-i-write-a-full-outer-join-query-in-access by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 부모와 자식 테이블에 데이터 삽입 - T-SQL (0) | 2020.03.19 |
---|---|
[SQL] 계층 구조 달성 부모 / 효과적이고 쉬운 방법으로 자식 관계 (0) | 2020.03.19 |
[SQL] 어떻게 SQL 플러스에서 실행하는 SQL 스크립트에서 앰퍼샌드를 무시합니까? (0) | 2020.03.19 |
[SQL] 데이터베이스 나 시스템 파일에서 이미지를 저장? [닫은] (0) | 2020.03.19 |
[SQL] (오라클) 각 그룹에 대해 최고 결과를 얻을 수 있습니다 (0) | 2020.03.19 |