SET연산자 중 하나인 union을 사용하면 두개 또는 그 이상의 테이블 결과를 합쳐서 나타낼 수 있습니다. 테이블을 합치는 union은 동일한 컬럼의 테이블 값을 찾는 조인(join) 구문과는 다른 점 유의하시기 바랍니다.

UNION을 사용해 테이블을 합칠 경우 주의할 사항은 아래와 같습니다.

사용할 컬럼의 수는 동일할 것
ORDER BY를 사용해 정렬이 필요한 경우 맨 아래에 위치한 SELECT문에만 사용할 것
중복된 값이 있는 경우 하나의 결과(distinct)만 가져옴


# JOIN 구문 예제소스 보기

SELECT *
FROM sort
WHERE name='apple'
UNION
SELECT *
FROM tag
WHERE name='apple'
LIMIT 10


위 예제소스는 sort 테이블tag 테이블의 컬럼 name에 apple이란 값이 있는 경우 이를 찾아서 보여주는 예제소스입니다. 위에 언급된 것 처럼 중복된 값은 제외하고 하나만 보여줍니다.

! 참고로 만약에 다수의 테이블에서 중복된 값을 보기 원한다면 UNION 대신 UNION ALL을 사용합니다. 위의 예제는 아래와 같이 변경할 수 있습니다.

* 중복 결과도 포함하는 경우

SELECT *
FROM sort
WHERE name='apple'
UNION ALL
SELECT *
FROM tag
WHERE name='apple'
LIMIT 10