반응형

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 으로 복잡한 조건 조합
  • 괄호 ()는 조건 우선순위 명확히 하는 데 꼭 필요!
  • LIKEBETWEEN은 실무에서 자주 사용됨

💡 실전 활용 팁

  • WHERE 절은 UPDATE, DELETE, SELECT 모두에 쓰임
  • 다양한 연산자를 조합해서 정확한 조건 필터링이 가능
  • IN, IS NULL, EXISTS 등도 함께 공부하면 더 강력해져요

이제 여러분은 단순한 쿼리를 넘어서, 실무에 활용할 수 있는 조건문 설계 능력을 갖추셨습니다. 😊

반응형

+ Recent posts