[SQL] 코딩 테스트 대비 프로그래머스 SQL 문법 정리

호수·2024년 4월 11일
0

클라우드

목록 보기
6/6
post-thumbnail

SELECT * FROM 테이블

집계함수

AVG() - 평균값을 반환한다
COUNT() - 값의 수를 반환한다.
MAX() - 최댓값을 반환한다
MIN() - 최솟값을 반환한다.
SUM() - 값의 합계를 반환한다.

반올림/절사 함수

ROUND  함수 (반올림)
함수 : ROUND("값", "자리수")

TRUNC 함수 (절삭)
함수 : TRUNC ("값", "자리수")

LIMIT절

반환되는 데이터의 수를 제한

SELECT *
FROM 테이블
LIMIT 수;

GROUP BY 절

SELECT [DISTINCT] 컬럼, 그룹 함수(컬럼)
FROM 테이블명
[WHERE 조건][GROUP BY Group대상]
[HAVING 그룹 함수 포함 조건]ORDER BY 정렬대상 [ASC/DESC]]

HAVING 절 - 그룹화된 데이터에 조건을 주어 데이터 추출
HAVING 절은 GROUP BY 절과 함께 사용되며, 그룹화된 결과 집합에 대한 조건을 지정하는 데 사용

✨WHERE 절은 개별 행에 대한 조건을 지정하고, HAVING 절은 그룹화된 결과 집합에 대한 조건 지정
간단 요약

Having은 그룹화 또는 집계가 발생한 후 레코드를 필터링하는데 사용된다.
Where은 그룹화 또는 집계가 발생하기 전에 레코드를 필터링하는데 사용된다.

작성순서

셀프웨구해오

[Oracle] CASE WHEN 조건 여러개

CASE WHEN 조건1 THEN 리턴값2 WHEN 조건2 THEN 조건2 .... ELSE 그 외 END AS 별칭

NVL함수

NVL(대상데이터 , NULL일때 데이터)

NVL2함수

NVL2 ( 대상데이터 , NULL아닐때 데이터 , NULL일때 데이터)

DATEDIFF

두 개의 날짜값의 차이를 Int형으로 반환하고자 할 때 사용
Int 형으로 반환하기에 Int 범위를 넘어서는 차이는 확인 불가능
두 날짜값의 년도 차이나 시간 차이, 개월 수 차이도 확인 가능

문법 : SELECT DATEDIFF(interval, Start_Date, End_Date);

SELECT DATEDIFF(dd, '2018-01-01', '2018-12-31') + 1;
-> 365

DATE_FORMAT(date string, '날짜 형식')

  • 시간을 원하는 형태로 반환하고자 할 때 사용
  • 문법 : DATE_FORMAT(DATETIME date, FORMAT);
SELECT DATE_FORMAT(NOW(), "%Y%c/%e %r");

INSERT INTO

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
profile
코딩하는 호수

0개의 댓글