MySQL - WHERE 절: 데이터를 프로처럼 필터링하기
안녕하세요, 데이터베이스 열정가 되고자 하는 여러분! 오늘 우리는 MySQL 도구箱에서 가장 중요한 도구 중 하나에 대해 배우겠습니다: WHERE 절. 이 수업이 끝나면 여러분은 숙련된 전문가처럼 데이터를 필터링할 수 있을 것입니다. 그러니 마음에 드는 음료를 한 잔 들고 편안하게 앉아, 이 흥미로운 여정을 함께 시작해 보겠습니다!
MySQL WHERE 절이란?
거대한 도서관에 가 있다고 상상해 보세요. 수百万 권의 책이 있는 곳에서, 예를 들어 "적潘다"에 관한 특정 책을 찾고 있습니다. 모든 책을 하나씩 뒤지고 싶지 않을 것입니다, 아닙니까? 이때 WHERE 절이 데이터베이스 세계에서 매우 유용하게 사용됩니다. WHERE 절은 마치 초능력을 가진 도서관 사서처럼 바로 찾아주는 것입니다.
WHERE 절은 우리의 데이터베이스 질의 결과를 특정 조건에 기반하여 필터링할 수 있게 해줍니다. 마치 MySQL에게 "이 조건을 만족하는 특정 정보만 보고 싶어"라고 말하는 것과 같습니다.
기본 문법
SELECT 문에 WHERE 절을 포함한 기본 구조는 다음과 같습니다:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
처음에는 조금 두려울 수 있지만, 우리는 많은 예제를 통해 조금씩 설명해 나갈 것입니다.
WHERE 절을 사용하여 데이터 가져오기
현실적인 예제를 몇 가지 살펴보겠습니다. 이 예제들은 books
테이블을 가정합니다. 다음과 같은 구조를 가지고 있습니다:
Column Name | Data Type |
---|---|
id | INT |
title | VARCHAR |
author | VARCHAR |
genre | VARCHAR |
price | DECIMAL |
publish_date | DATE |
예제 1: 동등 비교
"J.K. Rowling"이 쓴 모든 책을 찾고 싶다면:
SELECT title, publish_date
FROM books
WHERE author = 'J.K. Rowling';
이 질의는 데이터베이스에 있는 J.K. Rowling이 쓴 모든 책의 제목과 출판일을 반환합니다. =
연산자는 정확한 동등성을 확인합니다.
예제 2: 큰 값 비교
20달러 이상인 모든 책을 찾고 싶다면:
SELECT title, price
FROM books
WHERE price > 20;
이 질의는 가격이 20달러 이상인 책의 제목과 가격을 반환합니다. >
연산자는 20달러보다 큰 값을 찾습니다.
예제 3: LIKE 연산자를 사용한 패턴 일치
제목에 "Harry"가 포함된 모든 책을 찾고 싶다면:
SELECT title, author
FROM books
WHERE title LIKE '%Harry%';
LIKE
연산자는 패턴 일치를 허용합니다. %
는 임의의 문자 수를 일치시키는 와일드카드입니다.
예제 4: IN 연산자를 사용한 여러 값 지정
특정 장르의 책을 찾고 싶다면:
SELECT title, genre
FROM books
WHERE genre IN ('Fantasy', 'Science Fiction', 'Mystery');
IN
연산자는 WHERE 절에서 여러 값을 지정할 수 있게 해줍니다.
예제 5: BETWEEN 연산자를 사용한 범위
2010년에서 2020년 사이에 출판된 책을 찾고 싶다면:
SELECT title, publish_date
FROM books
WHERE publish_date BETWEEN '2010-01-01' AND '2020-12-31';
BETWEEN
연산자는 주어진 범위 내의 값을 선택합니다.
WHERE 절을 사용한 클라이언트 프로그램
MySQL 명령줄 클라이언트나 MySQL Workbench와 같은 MySQL 클라이언트 프로그램을 사용할 때, 이 질의를 직접 입력하여 데이터베이스와 상호작용할 수 있습니다. 다음 단계를 따라보세요:
- MySQL 클라이언트 프로그램을 엽니다.
- 데이터베이스에 연결합니다:
mysql -u username -p
- 데이터베이스를 선택합니다:
USE your_database_name;
- 이제 WHERE 절 예제 중 하나를 실행할 수 있습니다.
예를 들어:
SELECT title, author
FROM books
WHERE price < 15 AND genre = 'Romance';
이 질의는 15달러 이하의 가격에 'Romance' 장르인 책의 제목과 저자를 반환합니다.
프로 팁: 조건 조합
AND, OR, NOT을 사용하여 여러 조건을 조합할 수 있습니다:
SELECT title, author, price
FROM books
WHERE (genre = 'Mystery' OR genre = 'Thriller') AND price < 25;
이 질의는 'Mystery' 또는 'Thriller' 장르이고 가격이 25달러 이하인 책을 찾습니다.
일반 WHERE 절 연산자
WHERE 절에서 사용할 수 있는 일반 연산자 표입니다:
연산자 | 설명 |
---|---|
= | 동등한 |
> | 큰 값 |
< | 작은 값 |
>= | 큰 값 또는 동등한 |
<= | 작은 값 또는 동등한 |
<> | 동등하지 않은 |
BETWEEN | 주어진 범위 |
LIKE | 패턴 검색 |
IN | 여러 값 지정 |
IS NULL | NULL 값 검색 |
NOT | 조건 부정 |
연습이 완벽을 만듭니다! WHERE 절에서 이 연산자들의 다양한 조합을 실험해 보세요.
결론
여러분, 이제 MySQL의 WHERE 절을 사용하여 데이터를 필터링하는 세계로的第一步을 냈어요! WHERE 절은 마치 개인 데이터 탐정처럼, 산이似的 정보를 통해 정확히 찾아드리는 도구입니다.
MySQL 여정을 계속하면서 WHERE 절이 데이터베이스 도구상에서 필수적인 도구가 될 것입니다. WHERE 절은 정확하고 목표 지향적인 데이터 검색을 가능하게 해주며, 데이터베이스가 더 지능적으로 작동하도록 도와줍니다.
계속 연습하고, 호기심을 유지하면, 곧 숙련된 데이터베이스 관리자처럼 복잡한 질의를 쉽게 작성할 수 있을 것입니다. 즐겁게 질의 작성하세요!
Credits: Image by storyset