WHERE 절 마스터하기 ✍️ 다양한 조건문과 연산자 총정리
"WHERE 절만 제대로 알아도 SQL 절반은 먹고 들어간다!"
라는 말, 들어보셨나요?
오늘 그 핵심을 확실히 잡아드립니다!
안녕하세요 여러분! 😊
오늘은 SQL 쿼리에서 가장 많이 쓰이는 구문 중 하나인 WHERE 절에 대해 깊이 있게 배워볼 거예요.
WHERE 절은 조건을 걸어 필요한 데이터만 추출할 수 있게 해주는 아주 중요한 도구인데요.
단순한 "=" 연산부터 BETWEEN, LIKE, 논리 연산자(AND, OR, NOT)까지 다양한 조건식을 제대로 익히면, 데이터 추출 실력이 몇 단계는 더 올라간답니다.
이 포스팅에서는 실무 예제와 함께 각 연산자의 사용법과 차이점을 비교해드릴게요.
SQL 초보자도 이해할 수 있게 친절하고 자세하게 설명할 테니, 부담 없이 따라오셔도 좋아요! 😊
목차
1. WHERE 절의 기본 개념 이해하기 🤓
SQL에서 WHERE 절은 조건을 걸어 원하는 데이터만 골라내는 도구입니다.
SELECT, UPDATE, DELETE 쿼리에서 가장 많이 쓰이며, 데이터를 필터링할 수 있는 가장 강력한 수단이기도 해요.
예를 들어,
게시판에서 특정 작성자만 조회하고 싶다면 아래처럼 사용하겠죠.
SELECT * FROM board WHERE writer = '홍길동';
즉, WHERE 절은 "필터 기능"이라고 이해하시면 돼요.
그리고 그 안에서 사용하는 조건문과 연산자가 다양해서 조합하는 재미가 있답니다.
🔍 WHERE 절을 사용하는 대표 SQL 문들
SQL 유형 | 예시 |
---|---|
SELECT | SELECT * FROM board WHERE writer = '홍길동'; |
UPDATE | UPDATE board SET title='수정됨' WHERE id = 3; |
DELETE | DELETE FROM board WHERE id > 10; |
📌 WHERE 절 조건문의 형태
- 비교 조건: =, <>, >, <, BETWEEN, LIKE 등
- 논리 연산: AND, OR, NOT 으로 조건 연결
기초가 탄탄해야 응용이 자유롭습니다.
다음 STEP에서는 본격적으로 비교 연산자에 대해 하나하나 살펴볼게요!
2. 비교 연산자 정리 (=, <>, <, >, BETWEEN, LIKE 등) ⚖️
WHERE 절에서 가장 기본적이면서도 자주 쓰이는 도구가 바로 비교 연산자입니다.
숫자, 문자열, 날짜 등 다양한 데이터 타입을 비교하고 필터링할 때 활용돼요.
아래 표로 주요 비교 연산자를 먼저 정리해볼게요.
📋 주요 비교 연산자 요약표
연산자 | 의미 | 예시 |
---|---|---|
= |
같다 | WHERE writer = '홍길동' |
<> |
같지 않다 | WHERE writer <> '홍길동' |
> |
크다 | WHERE id > 5 |
< |
작다 | WHERE id < 10 |
BETWEEN |
사이 범위 | WHERE id BETWEEN 5 AND 10 |
LIKE |
패턴 일치 | WHERE title LIKE '공지%' |
🔍 LIKE 연산자 - 패턴 검색의 핵심!
LIKE
는 문자열 검색에서 자주 쓰이는 연산자예요.
‘%’와 ‘_’ 와일드카드를 함께 사용하면 더욱 유연한 검색이 가능합니다.
-
LIKE 'A%'
: A로 시작하는 문자열 -
LIKE '%공지'
: 공지로 끝나는 문자열 -
LIKE '_작업'
: 첫 글자가 아무거나 + ‘작업’으로 끝나는 3글자
🧠 BETWEEN과 범위 검색 팁
숫자나 날짜의 범위 검색에 자주 사용되는 BETWEEN은 간단하지만 강력한 기능이에요.
아래 예제를 봐볼까요?
SELECT * FROM board WHERE id BETWEEN 3 AND 6;
BETWEEN은 양 끝값을 포함하기 때문에 위 쿼리는 id = 3
, 4
, 5
, 6
인 행을 모두 가져옵니다.
자, 이렇게 비교 연산자를 익혔다면 이제 조건을 조합해서 더 복잡한 필터링을 해보는 것도 가능해지겠죠?
다음 STEP에서는 AND, OR, NOT 논리 연산자를 배워볼게요!
3. 논리 연산자(AND, OR, NOT)로 조건 조합하기 🔗
WHERE 절은 단일 조건뿐 아니라, 여러 조건을 조합해서 훨씬 정교하게 데이터를 추출할 수 있어요.
이때 사용하는 게 바로 논리 연산자입니다.
대표적으로 AND
, OR
, NOT
이 있죠.
✅ AND - 모든 조건이 참일 때만
SELECT * FROM board
WHERE writer = '홍길동' AND title LIKE '%공지%';
위 쿼리는 작성자가 '홍길동'이면서 제목에 '공지'가 포함된 게시글만 조회합니다.
즉, 모든 조건을 동시에 만족해야 해요.
✅ OR - 하나라도 참이면 통과
SELECT * FROM board
WHERE writer = '홍길동' OR writer = '이순신';
'홍길동' 또는 '이순신'이 작성한 글이면 전부 조회됩니다.
하나라도 만족하면 OK!라는 의미예요.
OR 연산은 범위를 넓게 보고 싶을 때 유용해요.
❌ NOT - 조건을 부정할 때
SELECT * FROM board
WHERE NOT writer = '관리자';
'관리자'가 작성하지 않은 모든 글을 조회하고 싶을 때 유용하죠.
NOT
은 어떤 조건이 참이 아닌 경우를 찾을 때 사용합니다.
🔗 조건이 많을 땐 괄호로 묶자!
SELECT * FROM board
WHERE (writer = '홍길동' OR writer = '강감찬')
AND title LIKE '%공지%';
괄호를 사용하지 않으면 조건이 예상과 다르게 평가될 수 있어요.
항상 논리 우선순위를 고려해 괄호로 명확히 구분해 주세요!
이제 단순한 필터링을 넘어, 조건을 조합하는 힘을 갖게 되셨어요.
다음 STEP에서는 실무에서 자주 사용하는 WHERE 패턴들을 소개해드릴게요!
4. 실무에서 자주 쓰는 WHERE 패턴 📌
SQL을 실제로 써보면, WHERE 절을 쓰지 않는 경우가 거의 없을 정도예요.
그만큼 다양한 조건 조합이 실무에서 굉장히 자주 등장합니다.
아래는 실제 서비스 개발이나 데이터 분석 시 많이 쓰이는 WHERE 절 패턴을 정리한 예시들이에요!
🧾 자주 쓰는 WHERE 절 예시 모음
패턴 목적 | SQL 예시 |
---|---|
특정 작성자 글만 보기 | WHERE writer = '홍길동' |
두 ID 사이의 글 보기 | WHERE id BETWEEN 5 AND 10 |
제목에 키워드 포함 | WHERE title LIKE '%공지%' |
여러 작성자 중 하나 | WHERE writer IN ('홍길동', '이순신') |
최근 일주일만 보기 | WHERE created_at >= NOW() - INTERVAL 7 DAY |
특정 컬럼 값이 NULL 아님 | WHERE content IS NOT NULL |
📚 실무 응용 팁
- WHERE 절 + ORDER BY: 필터링 후 정렬까지 연결 가능
- LIMIT을 함께 쓰면 페이징도 가능해요
- WHERE + JOIN 조합으로 연관 테이블 필터링도 가능!
실무에서는 조건이 점점 많아지고 복잡해지는데요, 위 예시들을 참고해서 자신만의 WHERE 절 패턴을 익혀두면 다양한 상황에서도 유연하게 대처할 수 있어요! 😊
다음은 진짜 데이터를 활용한 조건문 조합 실습으로 이어집니다!
5. 조건문 조합 예제 실습 🧪
지금까지 배운 비교 연산자와 논리 연산자를 직접 실습으로 확인해볼 시간입니다!
단순한 조건부터 복잡한 조합까지, 다양한 시나리오를 통해 WHERE 절을 유연하게 활용하는 법을 익혀볼게요.
🧩 시나리오 1: 특정 키워드를 포함한 최신 글만 보기
SELECT * FROM board
WHERE title LIKE '%공지%'
AND created_at >= NOW() - INTERVAL 7 DAY
ORDER BY created_at DESC;
📌 포인트: 공지가 포함된 게시글 중 최근 일주일 이내에 작성된 글만 내림차순으로 정렬해 보여줍니다.
🧩 시나리오 2: 특정 작성자 제외하고, ID가 10보다 큰 글만 보기
SELECT * FROM board
WHERE NOT writer = '관리자'
AND id > 10;
📌 포인트: 관리자 외의 작성자가 작성했고, id가 10을 초과하는 게시물만 조회합니다.
🧩 시나리오 3: 두 명의 작성자가 쓴 글 중, 제목에 ‘공지’가 포함된 경우만
SELECT * FROM board
WHERE (writer = '홍길동' OR writer = '이순신')
AND title LIKE '%공지%';
📌 포인트: 괄호로 조건을 명확하게 묶는 게 중요합니다.
논리 연산자의 우선순위 때문에 결과가 달라질 수 있어요!
✅ 실전 조합 팁
- WHERE 절은 조건이 많아질수록 괄호로 구분해주는 습관이 중요해요!
- 조건문이 너무 길어지면 가독성 확보를 위해 줄바꿈과 들여쓰기 활용하기
이제 WHERE 절이 단순한 필터링을 넘어서, 다양한 조건을 조합해 정교한 데이터 추출 도구로 거듭나는 걸 직접 느끼셨을 거예요.
이제 마지막으로 요약과 실전 활용 팁을 정리해보며 마무리해볼게요 😊
6. 마무리 ✨
여기까지 따라오신 여러분, 정말 잘하셨어요! 👏
이번 포스팅에서는 SQL의 핵심 WHERE 절에 대해 개념부터 다양한 연산자, 실전 예제까지 완전 정복했어요.
데이터베이스를 다룰 때 WHERE 절은 선택이 아닌 필수입니다.
✅ 오늘의 핵심 요약
- WHERE 절은 조건에 따라 데이터를 필터링하는 기능
- 비교 연산자: =, <>, >, <, BETWEEN, LIKE 등 필수
- 논리 연산자: AND, OR, NOT 으로 복잡한 조건 조합
- 괄호 ()는 조건 우선순위 명확히 하는 데 꼭 필요!
- LIKE와 BETWEEN은 실무에서 자주 사용됨
💡 실전 활용 팁
- WHERE 절은 UPDATE, DELETE, SELECT 모두에 쓰임
- 다양한 연산자를 조합해서 정확한 조건 필터링이 가능
- IN, IS NULL, EXISTS 등도 함께 공부하면 더 강력해져요
이제 여러분은 단순한 쿼리를 넘어서, 실무에 활용할 수 있는 조건문 설계 능력을 갖추셨습니다. 😊
'Database' 카테고리의 다른 글
ORDER BY와 LIMIT 사용법 완벽 정리: 정렬과 데이터 추출의 핵심 (3) | 2025.04.08 |
---|---|
조건문과 연산자 실습예제 : 실무 데이터로 배우는 SQL 조건 활용법 (1) | 2025.04.08 |
데이터베이스 조작 예제 : 게시판 테이블 만들고 데이터 입력하기 (0) | 2025.04.07 |
데이터 정의어(DDL)의 핵심! CREATE, ALTER, DROP 완전 정복 (0) | 2025.04.07 |
데이터 조작어(DML) 완전 정복: SELECT, INSERT, UPDATE, DELETE (0) | 2025.04.07 |