본문 바로가기
백엔드/SQL

SQL 첫걸음 3~4장

by dustnn 2025. 3. 29.
3장: 데이터를 조회하자
SELECT 문 기본

 

SELECT 문 구조→ 테이블에서 특정 컬럼(또는 전체 *)을 조회함.

 
SELECT 컬럼명 FROM 테이블명;

 

여러 컬럼 조회

 

콤마(,)로 구분하여 여러 컬럼 선택

 
SELECT name, age FROM users;

 

컬럼에 별명 붙이기 (AS)

 

출력 시 보기 좋게 별명을 줄 수 있음

 
SELECT name AS 이름, age AS 나이 FROM users;

 

연산자 사용

 

숫자 계산 가능

 
SELECT name, price *1.1AS'세금 포함 가격'FROM products;

 

WHERE 절로 조건 지정

 

특정 조건을 만족하는 행만 조회

 
SELECT*FROM users WHERE age >20;
문자열 조건

 

'문자열'은 작은따옴표로 감싸야 함

 
SELECT*FROM users WHERE city ='Seoul';
AND, OR, NOT

 

여러 조건 결합 가능

SELECT*FROM users WHERE age >20AND city ='Seoul';

 

BETWEEN, IN

 

특정 범위나 집합 조건

 
SELECT*FROM products WHERE price BETWEEN1000AND5000; SELECT*FROM users WHERE city IN ('Seoul', 'Busan');

 

NULL 처리

 

IS NULL, IS NOT NULL 사용

 
SELECT*FROM orders WHERE delivery_date ISNULL;

4장: 정렬, 제한, 계산
ORDER BY 정렬

 

기본 오름차순(ASC), 내림차순(DESC)

 
SELECT*FROM users ORDERBY age DESC;
여러 조건으로 정렬

 

우선순위 기준으로 순서 정렬

 
SELECT*FROM users ORDERBY city ASC, age DESC;
LIMIT로 결과 개수 제한

 

상위 n개만 보고 싶을 때

 
SELECT*FROM users ORDERBY age DESC LIMIT 5;

 

OFFSET으로 건너뛰기

 

페이징 처리를 위한 사용

 
SELECT*FROM users ORDERBY age DESC LIMIT 5OFFSET5;

 

기본 함수들

 

COUNT, SUM, AVG, MAX, MIN

 
SELECTCOUNT(*) FROM users; SELECTAVG(price) FROM products;

 

GROUP BY로 그룹화

 

그룹별 통계 처리

 
SELECT city, COUNT(*) FROM users GROUPBY city;

 

HAVING으로 그룹 조건

 

WHERE은 그룹 전 필터 / HAVING은 그룹 후 필터

 
SELECT city, COUNT(*) FROM users GROUPBY city HAVINGCOUNT(*) >2;