SUM(컬럼) | 열의 합을 출력, NULL을 제외하고 더함 |
COUNT(컬럼) | 지정한 데이터의 개수 반환 |
문법 | 설명 |
MAX(컬럼) | 데이터중 최대값 반환 |
MIN(컬럼) | 데이터중 최소값 반환 |
MAX(날짜) | 가장 느린 값(날짜 데이터가 큰값) |
MIN(날짜) | 가장 빠른 값(날짜 데이터가 작은 값) |
AVG(컬럼) | 데이터의 평균값 반환 |
GROUP BY 그룹화 열 지정 | 결과들을 특정 열값별로 묶는다. 먼저 지정한 열로 대그룹을 나누고, 그 다음 지정한 열로 소그룹을 나눈다. |
HAVING 조건 | GROUP BY절을 사용해 그룹화된 결과중 출력 그룹을 선별하는 조건식 |
GROUP BY ROLLUP(열 지정) | 그룹화 데이터의 합계를 함께 출력 |
GROUP BY CUBE(열 지정) | ROLLUP과 동일하지만 가능한 모든 조합의 결과가 출력된다. |
GROUP BY GROUPING SETS(열 지정) | 각 열별로 그룹을 묶어서 출력(같은수준) |
GROUPING(ROLLUP 또는 CUBE에 명시한 그룹화 한 열이름) | 현재 결과가 그룹화 대상 열의 그룹화가 이루어진 상태의 집계인지의 여부 출력 0,1로 출력되며 1이면 그룹화가 된 상태이다. |
GROUPING_ID(그룹화 여부를 확인할 열) | 그룹화 비트 벡터의 값으로 나타난다. 00은 0이 출력, 01은 1, 10은2 , 11은 3이 출력된다. |
LISTAGG(나열할 열, 구분자) ~ WHTHIN GROUP(ORDER BY 나열할 열의 정렬 기준 열) |
그룹화 된 열을 가로로 나열하고, 구분자 지정도 가능하다. |
PIVOT | 기존 테이블의 행을 열로 바꿔서 출력 |
UNPIVOT | 기존 테이블 열을 행으로 바꿔서 출력 |
등가조인(내부조인, 단순조인) | 테이블을 연결한 후에 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식 |
비등가 조인 | 등가조인 외의 방식들 |
자체 조인 | 하나의 테이블을 여러 개의 테이블처럼 활용하는 방식(지정한 열 중 일치한 데이터를 기준으로 조인되기 때문에 큰 범위로는 등가조인이다. |
외부조인(Outer Join) | null인 데이터가 존재해도 강제로 출력하는 방식 |
왼쪽 외부 조인 | WHERE A.COL1 =B.COL(+) 왼쪽 열을 기준으로 오른쪽 열의 데이터 존재 여부에 상관없이 출력 |
오른쪽 외부 조인 | WHERE A.COL1(+) =B.COL 오른쪽 열을 기준으로 왼쪽 열의 데이터 존재 여부에 상관없이 출력 |
FROM 테이블1 NATURAL JOIN 테이블2 | SQL-99 문법, 등가 조인 조인의 기준 열을 SELECT절에 명시할 때 테이블 이름을 붙이지 않는다. |
FROM 테이블1 JOIN 테이블2 USING(기준열) | SQL-99문법, 등가 조인 USING 키워드에 조인 기준으로 사용할 열을 명시해서 사용한다. 조인 기준 열로 명시된 열은 SELECT 절에서 테이블 이름을 붙이지 않는다. |
FROM 테이블1 JOIN 테이블2 ON(조인 조건식) | 조인 기준 조건식은 ON에 명시하고 그 밖의 출력 행을 걸러내기 위한 WHERE 조건식을 따로 사용 |
FROM 테이블1 (LEFT/RIGHT/FULL) OUTER JOIN 테이블 2 ON (조인 조건식) | 외부조인과 동일 |
서브 쿼리 | SQL문을 실행하는데 필요한 데이터를 추가로 조회하기 위해서 SQL 내부에서 사용하는 SELECT문을 의미 |
서브쿼리의 특징 | 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 괄호()로 묶어서 사용 몇몇 경우를 제외한 서브쿼리에서는 ORDER BY절 사용할수 없음 서브쿼리 SELECT 절에 명시한 열은 메인쿼리의 비교 대상과 같은 자료형/ 같은 개수로 지정해야 한다. 서브쿼리 SELECT 문의 결과 행 수는 함께 사용하는 메인 쿼리의 연산자 종류와 호환가능해야한다. |
단일행 서브 쿼리 | 실행 결과가 하나의 행으로 나옴 |
다중행 서브 쿼리 | 실행결과 행이 여러개로 나오는 쿼리 |
IN(조건1,조건2...) | 메인 쿼리의 데이터가 서브 쿼리의 결과 중 하나라도 일치하는 데이터가 있으면 TRUE 반환 |
ANY, SOME (조건1, 조건2...) | 메인쿼리의 조건식을 만족하는 서브쿼리의 결과가 하나 이상이면 TRUE |
ALL(조건1, 조건2...) | 메인쿼리의 조건식을 서브쿼리의 결과 모두가 만족하면 TRUE |
EXITST(조건1, 조건2...) | 서브쿼리의 결과가 존재하면(즉 행이 1개 이상일 경우) TRUE |
'Back-end' 카테고리의 다른 글
JPA 개념 (0) | 2021.07.18 |
---|---|
Spring 개념 (0) | 2021.07.18 |
12 지네릭스, 열거형, 애너테이션 (1) (0) | 2021.07.17 |
11 컬렉션 프레임웍(7) (0) | 2021.07.11 |
SQL 문법(1) (0) | 2021.07.11 |