SQLD #4

_ne·2026년 3월 6일

sqld

목록 보기
4/5

조인

둘 이상의 테이블을 연결하여 관련 데이터를 하나의 결과로 보여주는 SQL 연산
종류
1) EQUI JOIN: Equal(=) 연산자(등호)를 사용해서 같은 값인 경우 조인

2) NON EQUI JOIN: 비교연산자(BETWEEN, >, <, !=)를 사용하는 조인

표준조인

DBMS마다 조인 방식이 다르므로, ANSI/ISO SQL 표준으로 정립한 조인(FROM절 JOIN형태)

  • INNER JOIN
    JOIN 조건에서 동일한 값이 있는 행만 반환
    1) USING 조건절 : 컬럼명이 같은 컬럼들에 대해서 선택적으로 조인 가능

    2) ON 조건절 : 컬럼명이 다르더라도 조인 조건을 사용 가능

  • NATURAL JOIN
    두 테이블 간에 동일한 이름을 갖는 모든 컬럼에 대해 EQUI JOIN 수행
    ON이나 USING 조건절 없이 조인 가능

  • CROSS JOIN
    두 테이블의 모든 행을 조합하여 출력

  • OUTER JOIN
    JOIN 조건에서 동일한 값이 없는 행 반환 가능
    1) LEFT OUTER JOIN
    : 좌측 테이블이 기준이 되어 결과 생성, 우측 테이블에서 가져오는 컬럼이 없으면 NULL
    2) RIGHT OUTER JOIN
    : 우측 테이블이 기준이 되어 결과 생성, 좌측 테이블에서 가져오는 컬럼이 없으면 NULL
    3) FULL OUTER JOIN
    :좌, 우측 테이블의 모든 데이터를 활용하여 결과 생성

SQL 활용

서브쿼리

  • 서브쿼리
    하나의 쿼리문(=메인쿼리) 안에 포함된 또 다른 쿼리문(=서브쿼리)

  • 서브쿼리의 종류
    1) 단일행 서브쿼리: 서브쿼리가 하나의 값만 반환

    2) 다중열 서브쿼리: 서브쿼리가 두개 이상의 열을 반환

    3) 그외 서브쿼리들

집합 연산자

두개 이상의 SELECT 쿼리 결과에 대한 집합 연산(합집합, 교집합, 차집합 등)을 수행하는 연산자
두 집합의 스키마(컬럼, 수, 컬럼 순서, 데이터타입)이 일치해야 동작

그룹 함수

  • 그룹함수
    GROUP BY절에서 여러 행을 하나의 결과값으로 요약하는 함수
    집계함수(COUNT, SUM, AVG, MIN, MAX)와 ROLLUP, CUBE, GROUPING SET등의 함수가 존재

  • ROLLUP
    ROLLUP(컬럼1,컬럼2)인 경우, (컬럼1, 컬럼2) -> 컬럼1 -> 전체 행 순으로 그룹화

  • CUBE
    CUBE(컬럼1, 컬럼2)인 경우, (컬럼1, 컬럼2) -> 컬럼1 -> 컬럼2 -> 전체 행 순으로 그룹화

  • GROUPING SET
    그룹화할 대상을 지정 가능

윈도우 함수

  • 윈도우 함수
    GROUP BY와 달리, 그룹화 하지 않고 각 행에 대하여 계산된 값을 반환하는 함수
    OVER 키워드와 함께 사용

  • 순위 함수

  • 집계 함수
    COUNT, SUM, AVG, MIN, MAX 등

  • 행 간의 값 참조 함수

  • 범위 지정 키워드
    ROWS BETWEEN [시작 범위] AND [끝 범위]

  • 비율함수

profile
끄적이는 곳

0개의 댓글