Ch.13 SQL 기초 — 데이터의 언어

SELECT와 WHERE — 데이터 조회

SELECT로 원하는 컬럼만 지정하여 조회할 수 있다WHERE 조건으로 원하는 행만 필터링할 수 있다비교 연산자(=, !=, >, <, BETWEEN, IN, LIKE)를 사용할 수 있다

1000만 행에서 원하는 데이터만 꺼내려면?

넷플릭스에는 수천 편의 영화가 있습니다. '2024년 개봉, 평점 8.0 이상 액션 영화'만 보고 싶다면?

원하는 조건의 데이터만 정확히 추출하려면?

WHERE — SQL의 필터 조건으로, 원하는 데이터만 골라내는 핵심 문법입니다.


article

핵심 내용

모든 열이 아니라 필요한 열만 골라서 조회합니다

-- 특정 열만 조회
SELECT name, age FROM users;

-- 별칭(AS)으로 열 이름 변경
SELECT name AS 이름, age AS 나이 FROM users;

-- 결과:
-- 이름   | 나이
-- 김짓   | 25
-- 이코드 | 30

AS (별칭) — 결과의 열 이름을 바꿔 표시합니다. 원래 테이블은 변경되지 않으며, 조회 결과에서만 적용됩니다.

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 작성 순서와 실행 순서가 다릅니다!

여러 조건을 ANDOR로 조합하여 필터링합니다

-- 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 ___ '김%'

데이터 조회 마스터!

key

핵심 용어

🟰

=, !=

같다, 같지 않다

↔️

>, <, >=, <=

크다, 작다, 크거나 같다, 작거나 같다

📏

BETWEEN A AND B

A 이상 B 이하 범위

📋

IN (값1, 값2, ...)

목록 중 하나와 일치

🔍

LIKE '패턴'

% = 아무 글자, _ = 한 글자

edit_note

정리 노트

SELECT와 WHERE — 데이터 조회 정리

SELECT 문

SELECT *
테이블의 모든 컬럼을 조회
SELECT 컬럼명
필요한 컬럼만 지정하여 조회
AS 별칭
컬럼에 별명을 붙여 가독성 향상

조건과 정렬

WHERE
조건에 맞는 행만 필터링 — =, >, <, LIKE, IN 등
AND / OR
여러 조건을 결합 — AND(모두 참), OR(하나라도 참)
ORDER BY
결과를 정렬 — ASC(오름차순), DESC(내림차순)
LIMIT
반환할 행 수를 제한 — 페이지네이션에 활용

SELECT + WHERE + ORDER BY + LIMIT — 이 4가지 조합으로 대부분의 조회가 가능합니다.

check_circle

핵심 정리

  • 1SELECT 열1, 열2 FROM 테이블; 로 필요한 열만 조회
  • 2WHERE 조건 — =, !=, >, <, BETWEEN, IN, LIKE
  • 3ORDER BY 열 ASC|DESC — 정렬, LIMIT N — 개수 제한
  • 4AND/OR로 복합 조건, 괄호로 우선순위 지정

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작