[SQL]TIL 8일차

Cherta·2024년 4월 25일
0

[TIL]

목록 보기
8/30

UNION 함수

  • UNION : 여러개의 SELECT 문의 결과를 하나의 테이블로 연결하여 보고 싶을 때 사용하는 함수

  • UNION 함수의 기본 구조

-- 컬럼 순서와 형식이 같아야 함
SELECT name, goods_nm, pay_date 
FROM 테이블명1

-- 수직결합 명시
UNION (ALL)

SELECT name, goods_nm, pay_date
FROM 테이블명2
  • UNION, UNION ALL의 공통점, 차이점, 주의점
    • 공통점 : 두 쿼리문을 하나로 수직결합
    • 주의점
      • 열의 갯수와 순서가 모든 쿼리에서 동일해야함
      • 데이터의 형식이 일치해야 함
    • 차이점 : UNION은 중복된 행을 하나로 표기하고(중복을 제거하고 표기), UNION ALL은 모두 표기(중복을 제거하지 않고 표기)

  • JOIN : 여러 개의 SELECT 문의 결과를 단일 결과 세트로 연결할 때 사용하는 함수
  • JOIN의 첫번째 단계 : 공통컬럼 찾기

    • 공통컬럼 : 두 테이블에서 공통으로 존재하는 컬럼
  • JOIN의 두번째 단계 : 공통컬럼 관계찾기

    • 어떤 테이블이 기준이 되고, 어떤 테이블이 종속되어 있는지 파악
    • 테이블의 구조
      • 1(기준):1(기준)
      • 1(기준):N(비교)
      • N(비교):1(기준)
      • N(비교):N(비교)
  • JOIN의 세번째 단계 : 적절한 조인 방식 찾기

    • 조인의 종류

      조인 종류특징
      INNER JOIN두 테이블에서 일치하는 값을 가진 행을 출력 (교집합)
      LEFT JOIN왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환(일치하는 항목이 없으면 NULL 값이 출력)
      RIGHT JOIN오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환 (일치하는 항목이 없으면 NULL 값이 출력)
      FULL OUTER JOIN모든 데이터를 보고 싶을 때 사용 (합집합)
  • INNER JOIN과 LEFT JOIN의 기본 구조

-- INNER JOIN
SELECT 컬럼1, 컬럼2 ...
FROM 테이블1 as a
INNER JOIN 테이블2 as b
ON a.공통컬럼 = b.공통컬럼
-- LEFT JOIN
SELECT 컬럼1, 컬럼2 ...
FROM 테이블1 as a
LEFT JOIN 테이블2 as b
ON a.공통컬럼 = b.공통컬럼

  • UINOIN VS JOIN
구분UNIONJOIN
결합방식수직결합 (세로로 결합)수평결합 (가로로 결합)
특징각 SELECT 문은 같은 수의 열을 가져야함
각 SELECT 문은 동일한 순서를 가져야함
각 테이블은 결합을 위해 공통컬럼을 1개 이상 가져야함
PK는 기본키라고 부르며, NULL 일 수 없고, 유일한 값을 가짐 (테이블 당 하나의 기본키만 가질 수 있음)
FK는 외래키라고 부르며 PK와 연결되는 컬럼을 의미
종류UNION
UNION (ALL)
(INNER)JOIN
LEFT JOIN
RIGHT JOIN
FULL OUTER JOIN

0개의 댓글