코딩 공부/DB

[DB] SET

희원96 2022. 4. 11. 11:25

SET 연산자 사용

 

- SET 연산자는 둘 이상의 구성 요소 질의 결과를 하나로 결합합니다.

- SET 연산자가 들어 있는 질의를 복합 질의라고 합니다.

 

연산자 반환 결과
UNION 두 질의 중 어느 것 하나에 의해서라도 선택된 모든 구분(distinct)행(row)
UNION ALL 중복 행을 포함하여 두 질의 중 어느 것 하나에 의해서라도 선택된 모든 행
INTERSECT 두 질의 모두에 의해 선택된 모든 구분 행
MINUS 첫째 SELECT문에 의해 선택되고
둘째 SELECT문에서 선택되지 않은 모든 구분 행

 

UNION연산자 
-모든 사원의 현재 및 이전 업무에 대한 세부 사항을 표시합니다. 각 사원에 대해 한 번씩만 표시하자.

UNION 연산자는 두 질의의 결과를 중복을 제거한 후 반환 한다.

- 선택된 열의 개수와 데이터 유형은 질의에 사용된 모든 SELECT문에서 같아야 한다. (열 이름은 같지 않아도 된다.)

- UNION은 선택될 열 전체에 대해 작동합니다.

- 중복을 확인하는 동안에도 NULL값은 무시되지 않습니다.

- IN 연산자는 UNION 연산자보다 높은 우선순위를 갖는다.

- 기본적으로 결과는 SELECT질의 첫째 열에 대해 오름차순으로 정렬된다.

 

UNION ALL 연산자

여러 질의의 행을 모두 반환하려면 UNION ALL 연산자를 사용한다.

- UNION과 달리 중복 행이 제거되지 않으며 기본적으로 출력이 절렬되지 않는다.

- DISTINCT 키워드는 사용 할 수 없다.

 

INTERSECT 연산자

- INTERSECT 연산자는 여러 질의에 공통적인 행을 모두 반환한다.

- 질의에 있는 SELECT문에 의해 선택된 열의 개수와 데이터 유형은 질의에 사용된 모든 SELECT문에서 같아야한다.

- INTERSECT에 사용될 테이블의 순서를 바꿔도 결과는 달라지지 않는다.

- INTERSECT 는 NULL값을 무시하지 않습니다.

SET 연산자 지침

- SELECT 목록에 있는 표현식의 개수와 데이터 유형이 서로 일치해야 한다.

- 실행 순서를 바꾸려면 괄호를 사용합니다.

- ORDER BY절:

= 명령문의 끝에만 사용할 수 있다.

= 열 이름, 첫째 SELECT문에서 사용한 별칭 또는 위치표기법을 사용할 수 있다.

 

- UNION ALL을 제외한 다른 연사자를 사용할 경우에는 중복 행이 자동으로 제거된다.

- 첫째 질의의 열 이름이 결과에 표시된다.

- UNION ALL을 제외한 다른 연산자의 출력은 기본적으로 오름차순으로 정렬된다.