SQL의 UNION 절과 IN 연산자

WI
Wilan
읽기 시간: 약 2분 소요
UNION IN

SQL을 사용한 데이터베이스 관리에서는 데이터를 효율적으로 조작하고 추출할 수 있는 다양한 기능이 있습니다. 그중에서도 개발자와 데이터 분석가들이 자주 활용하는 두 가지는 UNION 절IN 연산자입니다.

다음은 기능, 사용 조건 및 구문 작성 방법에 대한 완전한 가이드입니다.


UNION 절

UNION 절은 SQL에서 두 개 이상의 SELECT 문 결과를 결합하는 데 사용되는 절입니다.

이 절을 사용하려면 테이블을 임의로 결합할 수 없습니다. 쿼리에서 오류가 발생하지 않도록 충족해야 하는 표준 규칙이 있습니다.

  • 결합되는 각 SELECT 문은 동일한 수의 열을 가져야 합니다.
  • 해당 열의 데이터 유형은 동일하거나 호환 가능해야 합니다.
  • SELECT 문의 각 열은 동일한 순서로 있어야 합니다.

기본적으로 UNION 절은 고유한 값만 선택하고 표시합니다. 즉, 시스템이 자동으로 결과를 필터링하여 데이터 중복이 발생하지 않습니다.

UNION 구문

SELECT column_name(s) FROM table1

UNION

SELECT column_name(s) FROM table2;

UNION ALL 절

UNION 계열에는 UNION ALL이라고 하는 구문 변형도 있습니다.

두 구문의 주요 차이점은 시스템이 중복 데이터를 처리하는 방식에 있습니다. UNION이 중복을 제거하는 반면, UNION ALL은 데이터 중복을 허용합니다.

이 절은 결합된 각 SELECT 문의 모든 행을 표시하며, 값이 정확히 동일한지 여부와 관계없이 출력합니다.

UNION ALL 구문

SELECT column_name(s) FROM table1

UNION ALL

SELECT column_name(s) FROM table2;

참고: UNION ALL은 일반적으로 일반 UNION보다 빠릅니다. 시스템이 중복 행을 검색하고 제거하는 데 추가 시간을 소비하지 않기 때문입니다.


IN 연산자

IN 연산자는 WHERE 절에 추가되어 여러 가능한 값을 한 번에 기준으로 데이터를 필터링하는 논리 연산자입니다.

이 연산자는 여러 조건을 선택할 때 반복되는 OR 연산자 사용을 대체하는 간략한 방법(속기법)으로 자주 언급됩니다.

IN을 사용하면 SQL 코드가 훨씬 깔끔하고 간결하며 읽기 쉬워집니다.

특정 값 목록을 사용하는 IN 연산자 구문

SELECT column_name(s) FROM table_name

WHERE column_name IN (value1, value2, ...);

서브쿼리를 사용하는 IN 연산자 구문

값을 수동으로 정의하는 것 외에도 괄호 안에 다른 SELECT 문을 배치하여 동적으로 값 목록을 생성할 수 있습니다.

SELECT column_name(s) FROM table_name

WHERE column_name IN (SELECT STATEMENT);
W

저자

Wilan

발리 아일랜드 테크노(Bali Island Tekno)의 정기 기고자로, 기술, 프로그래밍, 소프트웨어 엔지니어링 분야에 대한 지식을 적극적으로 공유하고 있습니다.

홈으로 돌아가기 최종 업데이트일: 2026년 6월 5일