Database

조건문과 연산자 실습예제 : 실무 데이터로 배우는 SQL 조건 활용법

코딩 코디네이터 2025. 4. 8. 10:04
반응형

조건문과 연산자 실습예제 🧪 실무 데이터로 배우는 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로 조건을 테스트한 후, UPDATEDELETE 적용은 실수 방지 핵심!

자, 이제 실무에서도 쓸 수 있는 수준으로 조건문을 익히셨습니다!

 

 

6. 마무리 📌

이번 포스팅에서는 SQL 조건문과 연산자를 활용한 다양한 실습 예제를 통해 데이터를 선택하고, 수정하는 방법을 실전 위주로 배워보았습니다.

단순히 문법만 이해하는 것이 아니라, 실무에서 바로 사용할 수 있는 패턴까지 익히셨다면 훌륭하게 마스터하신 거예요! 👏

🎯 오늘 배운 핵심 요약

  • WHERE 조건문은 데이터를 추출하거나 수정할 때 반드시 사용
  • 비교 연산자(=, <>, >, <, BETWEEN, LIKE)로 조건 세분화
  • 논리 연산자(AND, OR, NOT) 조합으로 복잡한 조건 처리
  • 괄호()로 조건 우선순위 명확히 하여 오류 방지
  • UPDATE 조건문은 반드시 WHERE 확인 필수!

💡 실전 활용 팁

  • 조건문 테스트는 SELECT 쿼리로 먼저 확인하고 실행하세요.
  • BETWEENLIKE는 범위·문자열 검색에 유용하지만 성능에 주의!
  • 실무에서는 재고 기반 할인, 신규 회원 필터 같은 패턴이 반복됩니다.
  • 꼭 필요한 경우가 아니라면 DELETE, UPDATE는 백업 후 진행이 안전해요.

이제 여러분도 단순한 쿼리를 넘어서, 조건 조합으로 실무형 쿼리를 작성할 수 있는 단계에 오르셨습니다.🚀

반응형