Ch.13 SQL 기초 — 데이터의 언어
SELECT와 WHERE — 데이터 조회
1000만 행에서 원하는 데이터만 꺼내려면?
넷플릭스에는 수천 편의 영화가 있습니다. '2024년 개봉, 평점 8.0 이상 액션 영화'만 보고 싶다면?
원하는 조건의 데이터만 정확히 추출하려면?
WHERE — SQL의 필터 조건으로, 원하는 데이터만 골라내는 핵심 문법입니다.
핵심 내용
모든 열이 아니라 필요한 열만 골라서 조회합니다
-- 특정 열만 조회
SELECT name, age FROM users;
-- 별칭(AS)으로 열 이름 변경
SELECT name AS 이름, age AS 나이 FROM users;
-- 결과:
-- 이름 | 나이
-- 김짓 | 25
-- 이코드 | 30AS (별칭) — 결과의 열 이름을 바꿔 표시합니다. 원래 테이블은 변경되지 않으며, 조회 결과에서만 적용됩니다.
WHERE — 조건에 맞는 행만 필터링하여 조회합니다
-- 같다 (=)
SELECT * FROM users WHERE age = 25;
-- 같지 않다 (!=)
SELECT * FROM users WHERE name != '김짓';
-- 크다 / 작다
SELECT * FROM users WHERE age > 20;
SELECT * FROM users WHERE age <= 30;
-- 범위 (BETWEEN)
SELECT * FROM users WHERE age BETWEEN 20 AND 30;
-- 목록 (IN)
SELECT * FROM users WHERE age IN (20, 25, 30);
-- 패턴 (LIKE)
SELECT * FROM users WHERE name LIKE '김%'; -- '김'으로 시작
SELECT * FROM users WHERE email LIKE '%@gmail.com'; -- gmail 사용자결과를 정렬하고 개수를 제한합니다
-- 나이 오름차순 정렬 (기본)
SELECT * FROM users ORDER BY age ASC;
-- 나이 내림차순 정렬
SELECT * FROM users ORDER BY age DESC;
-- 상위 10명만 조회
SELECT * FROM users ORDER BY age DESC LIMIT 10;
-- 조합: 25세 이상, 나이 내림차순, 상위 5명
SELECT name, age
FROM users
WHERE age >= 25
ORDER BY age DESC
LIMIT 5;SQL 문장 실행 순서 FROM → WHERE → SELECT → ORDER BY → LIMIT 작성 순서와 실행 순서가 다릅니다!
여러 조건을 AND와 OR로 조합하여 필터링합니다
-- AND: 두 조건 모두 만족
SELECT * FROM movies
WHERE genre = '액션'
AND rating >= 8.0;
-- OR: 하나라도 만족
SELECT * FROM movies
WHERE genre = '액션'
OR genre = '코미디';
-- 복합 조건 (괄호로 우선순위 지정)
SELECT * FROM movies
WHERE year = 2024
AND (genre = '액션' OR genre = 'SF')
AND rating >= 8.0;괄호의 중요성 `WHERE A AND B OR C` → `(A AND B) OR C`로 해석됨 `WHERE A AND (B OR C)` → 의도대로 B 또는 C 중 하나 + A 조건 의도한 결과를 얻으려면 괄호를 명시하세요!
users 테이블에서 나이가 25 이상인 사용자만 조회하는 쿼리는?
ORDER BY age DESC는 나이를 오름차순으로 정렬한다
이름이 '김'으로 시작하는 사용자 검색: WHERE name ___ '김%'
데이터 조회 마스터!
핵심 용어
=, !=
같다, 같지 않다
>, <, >=, <=
크다, 작다, 크거나 같다, 작거나 같다
BETWEEN A AND B
A 이상 B 이하 범위
IN (값1, 값2, ...)
목록 중 하나와 일치
LIKE '패턴'
% = 아무 글자, _ = 한 글자
정리 노트
SELECT와 WHERE — 데이터 조회 정리
SELECT 문
- SELECT *
- 테이블의 모든 컬럼을 조회
- SELECT 컬럼명
- 필요한 컬럼만 지정하여 조회
- AS 별칭
- 컬럼에 별명을 붙여 가독성 향상
조건과 정렬
- WHERE
- 조건에 맞는 행만 필터링 — =, >, <, LIKE, IN 등
- AND / OR
- 여러 조건을 결합 — AND(모두 참), OR(하나라도 참)
- ORDER BY
- 결과를 정렬 — ASC(오름차순), DESC(내림차순)
- LIMIT
- 반환할 행 수를 제한 — 페이지네이션에 활용
SELECT + WHERE + ORDER BY + LIMIT — 이 4가지 조합으로 대부분의 조회가 가능합니다.
핵심 정리
- 1SELECT 열1, 열2 FROM 테이블; 로 필요한 열만 조회
- 2WHERE 조건 — =, !=, >, <, BETWEEN, IN, LIKE
- 3ORDER BY 열 ASC|DESC — 정렬, LIMIT N — 개수 제한
- 4AND/OR로 복합 조건, 괄호로 우선순위 지정
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작