PostgreSQL/집합 연산자와 서브쿼리
PostgreSQL INTERSECT 연산
DOGvelopers
2019. 11. 10. 12:04
반응형
INTERSECT 연산 이란?
두 개 이상의 SELECT 문들의 결과 집합을 하나의 결과 집합으로 결합 합니다.
INTERSECT 연산자에 의해 조회된 결과는 A와B의 교집합의 값을 반환 합니다.
기본문법
두개의 SELECT문 간 컬럼의 개수는 동일해야 하며 해당 순서의 열에는 서로 호환되는 데이터 유형 이어야 합니다.
ORDER BY로 정렬하고자 할 경우 맨 마지막 SELECT문에 ORDER BY절을 사용합니다.
SELECT
COLUMN_1_1,
COLUMN_1_2
FROM
TABLE_NAME_1
INTERSECT
SELECT
COLUMN_2_1,
COLUMN_2_2
FROM
TABLE_NAME_2
실습
- KEYS 테이블의 EMPLOYEE_ID컬럼 기준 값과 HIPOS 테이블의 EMPLOYEE_ID컬럼 기준값의 교집합 되는 값을 조회합니다.
SELECT
EMPLOYEE_ID
FROM
KEYS
INTERSECT
SELECT
EMPLOYEE_ID
FROM
HIPOS;
SELECT
A.EMPLOYEE_ID
FROM
KEYS A,
HIPOS B
WHERE
A.EMPLOYEE_ID = B.EMPLOYEE_ID;
SELECT
A.EMPLOYEE_ID
FROM
KEYS A
INNER JOIN HIPOS B ON
(A.EMPLOYEE_ID = B.EMPLOYEE_ID);
3개의 문법 모두 같은 데이터의 결과값을 조회 합니다.
개인적으론 INTERSECT 방법은 ... 비추천..
반응형