조건문과 연산자 실습예제 : 실무 데이터로 배우는 SQL 조건 활용법
조건문과 연산자 실습예제 🧪 실무 데이터로 배우는 SQL 조건 활용법
"조건문을 제대로 쓰면 데이터도 내 맘대로 조작 가능!"
실제 회원과 상품 데이터를 대상으로 실습하며 조건문을 마스터해봅시다.
안녕하세요! 😊
이번 시간에는 SQL의 핵심 기능 중 하나인 조건문과 연산자를 직접 실습 예제로 배워볼 거예요.
단순한 WHERE 절은 물론이고, 실제 많이 쓰이는 회원 테이블, 상품 테이블 데이터를 기반으로, 조건을 걸어 원하는 데이터를 조회하고 수정해보는 경험을 할 수 있어요.
특히 이 글에서는 두 가지 핵심 실습을 진행합니다:
1. 회원 테이블에서 다양한 조건으로 회원 조회
2. 상품 테이블에서 조건에 따라 가격 일괄 변경
SQL 초보자도 이해할 수 있도록 차근차근 설명하고, 실습용 SQL도 바로 복사해 쓸 수 있게 정리했어요.
함께 시작해볼까요?
목차
1. 실습에 사용할 테이블 구조 소개 🗂️
이번 실습에서는 회원 테이블(member)과 상품 테이블(product)을 사용합니다.
이 두 테이블은 실제 쇼핑몰이나 회원관리 시스템에서 자주 쓰이는 구조로, 실무 감각을 익히기에 딱 좋아요!
👤 member (회원 테이블)
컬럼명 | 데이터 타입 | 설명 |
---|---|---|
id | INT | 회원 고유 ID |
name | VARCHAR(50) | 회원 이름 |
age | INT | 나이 |
gender | CHAR(1) | 성별 (M/F) |
join_date | DATE | 가입일 |
🛍️ product (상품 테이블)
컬럼명 | 데이터 타입 | 설명 |
---|---|---|
id | INT | 상품 고유 ID |
name | VARCHAR(100) | 상품명 |
price | INT | 가격 |
stock | INT | 재고 수량 |
category | VARCHAR(30) | 카테고리 |
이제 실습 준비는 끝났습니다!
다음부터는 이 테이블들을 활용해서, 조건문을 직접 사용해보는 실습을 진행할 거예요.
먼저 회원 테이블에서 조건에 맞는 회원 조회 실습부터 시작해볼게요! 😊
2. 회원 테이블에서 조건에 맞는 회원 조회하기 👤
회원 정보를 조회할 때는 다양한 조건을 사용할 수 있어요.
성별, 나이, 가입일, 이름 포함 여부 등 여러 조건을 조합하면 원하는 회원 데이터를 정확히 골라낼 수 있답니다.
✅ 예제 1. 나이가 30세 이상인 회원 조회
SELECT * FROM member WHERE age >= 30;
✅ 예제 2. 여성(F) 회원 중 20대만 조회
SELECT * FROM member
WHERE gender = 'F'
AND age BETWEEN 20 AND 29;
✅ 예제 3. 이름에 '김'이 들어가는 회원 조회
SELECT * FROM member
WHERE name LIKE '%김%';
%
는 와일드카드로, 앞뒤 어떤 문자도 가능하다는 의미예요.
✅ 예제 4. 최근 1개월 이내 가입한 회원
SELECT * FROM member
WHERE join_date >= CURDATE() - INTERVAL 1 MONTH;
CURDATE()
는 오늘 날짜를 반환하고, INTERVAL
로 기간을 조절할 수 있어요. 주로 신규 회원 분석에 유용하죠.
📌 실전 팁
- 조건이 많아질수록 AND, OR, 괄호를 적절히 사용하세요.
- LIKE는 인덱스를 타지 않을 수 있으니 성능 유의!
- 날짜 비교 시 INTERVAL 활용은 매우 유용합니다.
다음 파트에서는 상품 테이블을 조건에 따라 업데이트하는 실습을 진행해볼게요! 😎
3. 상품 테이블에서 특정 조건으로 가격 변경하기 💸
이번에는 product 테이블에서 조건에 맞는 상품들의 가격을 일괄 수정하는 실습을 진행할 거예요.
이건 마케팅이나 세일 적용 시 아주 흔하게 사용되는 기능이에요.
✅ 예제 1. 재고가 0인 상품 가격을 0으로 변경
UPDATE product
SET price = 0
WHERE stock = 0;
재고가 없는 상품은 판매 중지 처리의 의미로 가격을 0으로 설정하는 방식이에요.
✅ 예제 2. 카테고리가 ‘전자제품’이고, 가격이 50,000원 이상이면 10% 할인
UPDATE product
SET price = price * 0.9
WHERE category = '전자제품'
AND price >= 50000;
조건부 할인 이벤트에 자주 사용되는 패턴입니다.
AND 조건으로 범위를 제한해 안전하게 가격을 변경할 수 있어요.
✅ 예제 3. 특정 상품만 수동으로 가격 변경 (IN 활용)
UPDATE product
SET price = 19900
WHERE name IN ('USB 허브', '충전기');
IN
조건은 특정 상품 이름 목록을 직접 지정할 때 매우 유용합니다.
⚠️ UPDATE 쿼리 실행 전 주의할 점
- 꼭 WHERE 조건을 명확히 지정하세요. 실수로 전체 데이터 변경될 수 있어요.
- SELECT 쿼리로 먼저 결과 확인 후 UPDATE 실행하는 습관을 들이세요.
- 필요시 트랜잭션(START TRANSACTION → COMMIT/ROLLBACK)으로 보호
자, 이렇게 상품 테이블도 상황에 맞게 업데이트할 수 있다는 걸 확인했어요.
다음은 AND, OR, NOT 조합을 통한 조건문 활용 심화 실습으로 넘어갑니다! 😊
4. 복합 조건 조합 실습 AND/OR/NOT 활용하기 🔗
SQL 조건문은 단일 조건보다 여러 조건을 논리적으로 조합했을 때 진짜 위력을 발휘합니다.
AND, OR, NOT 같은 논리 연산자를 활용하면 복잡한 조건도 손쉽게 처리할 수 있어요.
자주 쓰이는 패턴을 예제로 살펴볼게요!
✅ 예제 1. 남성 중 30대 또는 40대 회원 조회
SELECT * FROM member
WHERE gender = 'M'
AND (age BETWEEN 30 AND 39 OR age BETWEEN 40 AND 49);
괄호 없이 작성하면 논리 우선순위에 따라 예상과 다른 결과가 나올 수 있으므로 괄호로 묶는 습관을 들이세요!
✅ 예제 2. ‘가전’ 카테고리 중 가격이 3만 이상 또는 재고 100 이상인 상품
SELECT * FROM product
WHERE category = '가전'
AND (price >= 30000 OR stock >= 100);
이 조건은 가전 카테고리 + 추가 조건을 조합한 예입니다.
OR 조건은 결과 범위를 넓히는 데 효과적이에요.
✅ 예제 3. 여성 회원 중, 이름에 ‘김’이 없고 40세 이상인 사람
SELECT * FROM member
WHERE gender = 'F'
AND NOT name LIKE '%김%'
AND age >= 40;
NOT
연산자는 부정 조건을 만들 때 유용합니다. 특정 조건을 제외하고 싶을 때 사용하세요.
📌 실무 팁: 논리 연산자 우선순위 정리
연산자 | 우선순위 | 설명 |
---|---|---|
NOT |
1순위 | 조건을 부정 |
AND |
2순위 | 모두 참일 때 |
OR |
3순위 | 하나라도 참이면 |
정리하자면,
조건이 복잡할수록 괄호로 조건을 묶는 습관을 들이면 실수 없이 쿼리를 작성할 수 있어요! 😊
다음은 마지막으로 실무에서 자주 쓰이는 조건 조합 예제들을 모아볼게요.
5. 다양한 실무 패턴 예제 모음 🎯
실무에서는 WHERE 절의 조건을 단순히 쓰는 것이 아니라, 특정 패턴에 따라 반복적으로 사용되는 경우가 많아요.
이런 실전 패턴을 익혀두면 문제를 빠르게 해결하고, 효율적인 쿼리 작성을 할 수 있습니다.
아래에 대표적인 실무 패턴 예제를 정리해보았어요!
📌 회원 관련 자주 쓰는 조건문
목적 | 예시 쿼리 |
---|---|
성별별 회원 수 확인 | SELECT gender, COUNT(*) FROM member GROUP BY gender; |
가입일 기준 최근 회원 10명 | SELECT * FROM member ORDER BY join_date DESC LIMIT 10; |
40대 여성 회원만 추출 | SELECT * FROM member WHERE gender = 'F' AND age BETWEEN 40 AND 49; |
📌 상품 관련 자주 쓰는 조건문
목적 | 예시 쿼리 |
---|---|
가격 상위 5개 상품 | SELECT * FROM product ORDER BY price DESC LIMIT 5; |
재고가 0인 상품 조회 | SELECT * FROM product WHERE stock = 0; |
카테고리별 상품 평균 가격 | SELECT category, AVG(price) FROM product GROUP BY category; |
🧠 조건문 작성 실전 팁
- WHERE 조건은 많을수록 가독성 확보가 중요 — 줄바꿈, 괄호 적극 활용
- IN, BETWEEN, LIKE은 실무에서 정말 자주 쓰이는 필수 연산자
- 먼저
SELECT
로 조건을 테스트한 후,UPDATE
나DELETE
적용은 실수 방지 핵심!
자, 이제 실무에서도 쓸 수 있는 수준으로 조건문을 익히셨습니다!
6. 마무리 📌
이번 포스팅에서는 SQL 조건문과 연산자를 활용한 다양한 실습 예제를 통해 데이터를 선택하고, 수정하는 방법을 실전 위주로 배워보았습니다.
단순히 문법만 이해하는 것이 아니라, 실무에서 바로 사용할 수 있는 패턴까지 익히셨다면 훌륭하게 마스터하신 거예요! 👏
🎯 오늘 배운 핵심 요약
- WHERE 조건문은 데이터를 추출하거나 수정할 때 반드시 사용
- 비교 연산자(=, <>, >, <, BETWEEN, LIKE)로 조건 세분화
- 논리 연산자(AND, OR, NOT) 조합으로 복잡한 조건 처리
- 괄호()로 조건 우선순위 명확히 하여 오류 방지
- UPDATE 조건문은 반드시
WHERE
확인 필수!
💡 실전 활용 팁
- 조건문 테스트는 SELECT 쿼리로 먼저 확인하고 실행하세요.
BETWEEN
과LIKE
는 범위·문자열 검색에 유용하지만 성능에 주의!- 실무에서는 재고 기반 할인, 신규 회원 필터 같은 패턴이 반복됩니다.
- 꼭 필요한 경우가 아니라면 DELETE, UPDATE는 백업 후 진행이 안전해요.
이제 여러분도 단순한 쿼리를 넘어서, 조건 조합으로 실무형 쿼리를 작성할 수 있는 단계에 오르셨습니다.🚀