SQL 기본 문법 정리

SQL

가장 간단하고 빠르게 기본적인 SQL문을 습득할 수 있게 정리해보았다.

RIVER TABLE
ColumnTypeDES
idVARCHAR아이디
passwordVARCHAR비밀번호
valueVARCHAR조건

SQL 문법 정리

Select

Select문은 조회할 때 사용된다.

정렬

정렬은 ORDER BY 기준 (ASC/DESC)로 선언하면 된다.

오름차순 정렬은 작은 값부터 시작하여 큰 값으로 정렬되는 것을 의미한다.

조건
출력 갯수 지정

limit 페이지 당 개수 offset 데이터를 가져올 위치

offset = (페이지번호-1)*페이지당 갯수
limit 10 offset 0 : 1~10까지 반환
limit 10 offset 10 : 11~20까지 반환
max,min
count

Null 데이터는 제외하고 계산한다. 데이터 갯수를 출력할 때 사용한다.

중복을 제거하기 위해서는 DISTINCT 명령어를 사용한다.

group by

group by는 데이터를 원하는 그룹으로 나누어 사용할 수 있다. group by에서 조건을 주기 위해 having을 사용한다.

hour()
mysql> SELECT HOUR('10:05:03');
        -> 10
mysql> SELECT HOUR('272:59:59');
        -> 272

시간을 기준으로 출력하고 싶을 때 사용하는 함수이다.

count는 0의 개수 즉 null의 개수는 세지않는점이 있습니다. 하지만 우리는 문제에서 0의 개수도 출력하라는 문제가 나오게 된다면 어떤 풀이를 가지고 풀어야할까요?

SET @hour:=-1;

SELECT (@hour :=@hour+1) AS HOUR,
(SELECT COUNT(*) FROM RIVER WHERE HOUR(value) = @hour) FROM RIVER WHERE @hour<23;

SQL에서의 변수 선언은 SET @으로 할 수 있다. left join이 활용되었는데 이후에 좀 더 자세히 정리하도록 하겠다.

IS NULL

말그대로 데이터의 값이 없을 경우에는 null이 삽입되어 있다.

IFNULL(A,B) A가 NULL 값이면, B를 아니라면 A를 반환한다.

SELECT IFNULL(value,'no value') FROM RIVER;