MySQL

WHERE 절 연습 예제

whs5758 2025. 5. 9. 16:04

기본 조회

서울시 강남구에 사는 고객 조회

SELECT id, name FROM customer WHERE address = '서울시 강남구';

이메일이 NULL인 고객 조회

SELECT * FROM customer WHERE email IS NULL;

이름이 박영희인 고객 조회

SELECT * FROM customer WHERE name = '박영희';

 

 

복합 조건

서울시에 사는 ID 3 이하 고객 조회

SELECT * FROM customer WHERE address LIKE '서울시%' AND id <= 3;

서울시 또는 경기도에 사는 고객 조회

SELECT * FROM customer WHERE address LIKE '서울시%' OR address LIKE '경기도%';

 

특수 연산자

ID가 2~5인 고객 조회

SELECT * FROM customer WHERE id BETWEEN 2 AND 5;

강남구, 서초구, 송파구에 사는 고객 조회

SELECT * FROM customer WHERE address IN ('서울시 강남구', '서울시 서초구', '서울시 송파구');

이메일이 NULL이 아닌 고객 조회

SELECT * FROM customer WHERE email IS NOT NULL;

실습 쿼리

-- drop database mydb;

create database mydb; 

-- 고객 테이블 설계 
create table customer(
	id int primary key auto_increment, 
    name varchar(50), 
    email varchar(50), 
    address varchar(100)
);

select * from customer;


INSERT INTO customer (name, email, address) VALUES
		('김철수', 'kim@example.com', '서울시 강남구'),
		('박영희', 'park@example.com', '서울시 서초구'),
		('이민수', NULL, '경기도 성남시'),
		('최영진', 'choi@example.com', '서울시 송파구'),
		('한미영', 'han@example.com', '경기도 수원시'),
		('강종현', 'kang@example.com', '서울시 강서구');

-- WHERE 절 연습 

-- 1. 기본 조회 

-- 1.1 문제 : 서울시 강남구에 사는 고객을 조회하시오. 
select * 
from customer
where address = '서울시 강남구'; 

-- 1.2 문제 : 이메일이 NULL인 고객을 조회 
-- 중요! (NULL 을 조회할 때 = 으로는 비교할 수 없습니다 IS NULL 또는 IS NOT NULL 을 사용해야 한다.)
select * 
from customer
where email is null;

-- 1.3 문제 : 이름이 박영희인 고객을 조회 
select * 
from customer
where name = '박영희';


-- 2. 복합 조건  

-- 2.1 문제 : 서울시에 사는 id 3이하인 고객들을 조회 하시오. 
select * 
from customer
where address like '서울시%' and id <= 3;


-- 2.2 문제 : 서울시 또는 경기도에 사는 고객을 조회 하시오. 
select *
from customer
where address like '서울시%' or address like '경기도%';


-- 3. 특수 연산자 

-- 3.1 문제 : id가 2 ~ 5000 인 고객들을 조회 하시오. 
select * 
from customer 
-- where id = 2 or id = 3 or id = 4 or id = 5;
where id between 2 and 5;

-- 3.2 문제 : 서울시 강남구, 서울시 서초구, 서울시 송파구에 사는 고객을 조회 하시오. 
select * 
from customer
-- where address = '서울시 강남구' or address = '서울시 서초구' or address = '서울시 송파구'; 
where address in ('서울시 강남구', '서울시 서초구', '서울시 송파구');

-- 3.3 문제 : 이메일이 NULL이 아닌 고객들만 조회 하시오. 
select * 
from customer 
where email is not null;

'MySQL' 카테고리의 다른 글

UPDATE 구문과 조건절  (0) 2025.05.09
WHERE 절 도전 과제  (0) 2025.05.09
SELECT 구문과 조건절이란 뭘까?  (0) 2025.05.09
INSERT 구문과 제약 사항  (0) 2025.05.09
MySQL에 대표적인 데이터 타입  (0) 2025.05.09