둘 이상의 테이블을 연결하여 관련 데이터를 하나의 결과로 보여주는 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
:좌, 우측 테이블의 모든 데이터를 활용하여 결과 생성

서브쿼리
하나의 쿼리문(=메인쿼리) 안에 포함된 또 다른 쿼리문(=서브쿼리)
서브쿼리의 종류
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 [끝 범위]


비율함수
