FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY
SQL 동작 순서를 명시
알아두고 항시 습관화하기
이번 글은 여러 테이블을 결합하고자 할 때, 사용하는 기능을 소개한다.
- 실무에서 하나의 테이블만을 참고하여 데이터를 추출하는 경우는 거의 없음
'UNION' : 수직 결합 / 'JOIN' : 수평 결합 임을 떠올리며 학습해보자.

여러 테이블을 수직 으로 결합 할 때 사용하는 기능이다.
기본적인 구조는 다음과 같다.---- JOIN 기본 구조 select 컬럼1, 컬럼2, 컬럼3.. from 테이블명1 union [ALL] select 컬럼1, 컬럼2, 컬럼3.. from 테이블명2위 구조를 보게 되면 UNION 구문이 보이는데,
필요에 따라, [ALL] 혹은 공백으로 나뉘게 된다.
구분 UNION UNION ALL 차이점두 테이블의 중복된 행 제외 중복된 행 포함 언제 UNION을, 아니면 UNION ALL 을 쓰는 것일까?
위 말한 바와 같이 '필요에 따라' 로 결정된다.예를 들어, 월 별로 고객의 구매테이블(고객 이름 / ID / 상품ID) 을 운용할 때
해당 년도 특정 고객의 누적 구매수 등을 추출하고자 할때는 UNION ALL해당 년도에 한 번이라도 구매한 고객의 정보(이름 / ID) 를 추출하고자 할 때는 UNION
그렇다면 UNION 을 사용하기 위한 필수 조건 (& 주의사항) 은 무엇일까?
- 두 테이블의 컬럼 순서와 데이터 형식이 같아야 한다.
각 컬럼의 명이 다르더라도, 가장 상단 SELECT 문의 컬럼으로 통일 된다.
여러 테이블을 수평 으로 결합 할 때 사용하는 기능이다.
기본적인 구조는 다음과 같다.---- JOIN 기본 구문 select 컬럼1, 컬럼2. from 테이블 a join -- 필요에 따라 사용하는 JOIN의 종류가 다양하다. 다음 주에 학습할 예정 ~ select 컬럼1, 컬럼2.. from 테이블 b on a.공통컬럼=b.공통컬럼---- JOIN 기본 구문 ------ 공통 컬럼이 2개 이상인 경우 select 컬럼1, 컬럼2 from 테이블 as a join -- 필요에 따라 사용하는 JOIN의 종류가 다양하다. 다음 주에 학습할 예정 ~ select 컬럼1, 컬럼2.. from 테이블 as b on a.공통컬럼=b.공통컬럼 and a.공통컬럼2=b.공통컬럼2JOIN 의 종류는 다음 주에 학습 할 예정이다.
그렇다면 필수 조건 (주의사항) 은 무엇일까?① JOIN 하고자 하는 테이블들의 공통 컬럼을 찾는다.
② 공통 컬럼의 관계(PK, FK) 를 찾는다.
③ 출력하고자 하는 결과 값에 따른 적절한 JOIN 방식을 찾는다.각 항목에 대해 세부적으로 살펴보자.
① JOIN 하고자 하는 테이블들의 **공통 컬럼**을 찾는다.
- 공통 컬럼 : 두 테이블에서 공통적으로 존재하는 컬럼
- JOIN 하고자 하는 테이블들의 연결 고리
: 공통 컬럼의 이름 값은 달라도 무방
: 하나의 컬럼 혹은 한 개 이상의 컬럼이 공통일 수 있음
②~③ 의 세부 내용과 함께, JOIN의 유형은 다음 주 월요일날 학습 후 진행할 예정이다.
학습 전 배운 내용의 이해와 예제를 통해 완벽하게 습득하자.