[TIL] SQL문

hyewon·2021년 11월 22일
0

TIL

목록 보기
27/59
post-thumbnail

SQL

SQL은 Structured Query Language의 약어로 데이터베이스에서 사용되는 구조화된 쿼리 언어이다. 여기서 쿼리란 "질의문"으로 저장되어 있는 정보를 필터링하기 위한 질문으로 볼 수 있다.

또한 SQL은 데이터가 구조화된 테이블을 사용하는 데이터베이스 (RDB, Relation DataBase)에서 활용이 가능하다. 추가적으로 구조화되어 있지 않은 데이터베이스들은 NoSQL이라고 불린다.

SELECT FROM

SELECT는 데이터셋에 포함될 특성들을 선택하는 명령어이며, FROM과 세트로 사용된다.

SELECT * FROM table;

위의 쿼리는 table에서 모든 특성(*)을 검색하는 것은 뜻한다.

WHERE

WHERE은 필터 역할을 하는 쿼리문이다. 특정 조건을 만족하는 데이터들만 조회될 수 있게 해주는 역할을 한다.

SELECT * FROM table
WHERE id > 5;

위의 쿼리는 id의 값이 5 이상인 데이터들만 검색이 되는 쿼리이다.
WHERE절은 AND 혹은 OR을 통해서 조건을 여러개 설정할 수도 있다.

SELECT * FROM table
WHERE id > 5 AND type = 2;

문자열에서 특정 값과 비슷한 값을 찾을 때는 아래와 같이 LIKE와 함께 '%'를 사용한다.

SELECT * FROM table
WHERE name LIKE '%떡%';

또한, 리스트의 값들과 일치하는 데이터를 필터링할 때는 "IN"을 사용하고, 값이 없는 경우를 찾을 때는 "IS"를 사용한다.

GROUP BY

GROUP BY는 데이터를 그룹화해주는 쿼리이다.

SELECT type, COUNT(name) AS Count
FROM table
GROUP BY type;

HAVING

HAVING은 GROUP BY로 조회된 결과에 대한 필터링을 해주는 역할을 한다.

SELECT type, COUNT(name) AS Count
FROM table
GROUP BY type
HAVING COUNT(name) >= 4;

CASE

CASE는 if문과 같은 기능을 해주는 쿼리문이다.

SELECT CASE 
	WHEN type = 1 THEN 'G1'
	WHEN type = 3 THEN 'G3'
	ELSE 'NONE'
	END AS 'Group'
FROM table;

profile
우당탕탕 코린이

0개의 댓글