👇 SQL 혼자 공부하기!
SQL WHERE Clause
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
SQL WHERE 절이란?
SQL에서 WHERE 절은 레코드(행)을 필터링하는 데에 사용합니다.
WHERE 다음에 원하는 조건을 작성하여, 조건을 충족하는 행만 출력할 수 있습니다.
SQL WHERE 절 문법/사용법
SELECT 문 (SELECT 원하는 컬럼 FROM 테이블명) 뒤에 WHERE 절을 붙여줍니다.
조건은 WHERE 이하에 작성해주면 됩니다.
SELECT column1, column2, ...
FROM table_name
WHERE condition;
참고로 WHERE 절은 SELECT문뿐만 아니라, UPDATE, DELETE 등의 구문 뒤에도 사용할 수 있습니다.
WHERE 절 사용 예시 (예제)
아래 Customers 테이블에서 나라가 Mexico인 자료만 출력해봅시다.

-- Customers 테이블에서 나라가 Mexico인 자료만 조회하기
SELECT * FROM Customers
WHERE Country='Mexico';

숫자 필드에 대한 WHERE 조건 vs. 텍스트 필드에 대한 WHERE 조건
보통 대부분의 데이터베이스 시스템에서는 큰따옴표(" ")와 작은따옴표(' ')모두 텍스트(문자) 값에 사용할 수 있습니다.
하지만 SQL에서는 텍스트 값에 작은따옴표(' ')를 사용하며, 큰따옴표(" ")는 사용하지 않습니다.
위에 예제에서는 텍스트 필드에 대한 조건을 주어 자료를 출력했으니, 이번에는 숫자 필드에 대한 조건을 주어 원하는 자료를 출력해봅시다.
-- Customers 테이블에서 고객ID가 1인 자료만 출력하기
SELECT * FROM Customers
WHERE CustomerID=1;

WHERE 절의 주요 연산자
WHERE 절에 조건식을 지정할 때 사용할 수 있는 연산자(비교 연산자, 논리 연산자, BETWEEN, LIKE, IN)에 대해서 알아보겠습니다.
연산자(Operator) | 설명 | 예시 | 의미 |
= | 같다 | WHERE Price = 18; | 가격이 18인 행 |
> | ~보다 크다 | WHERE Price > 30; | 가격이 30보다 큰 행 |
< | ~보다 작다 | WHERE Price < 30; | 가격이 30보다 작은 행 |
>= | ~보다 크거나 같다 | WHERE Price >= 30; | 가격이 30보다 크거나 같은 행 |
<= | ~보다 작거나 같다 | WHERE Price <= 30; | 가격이 30보다 작거나 같은 행 |
<> | 다르다 (버전에 따라 != 로도 쓰임) | WHERE Price <> 18; | 가격이 18이 아닌 행 |
AND | 모든 조건 충족 (그리고) | WHERE City = 'Berlin' AND CustomerID = '1' |
도시가 Berlin이고 고객ID가 1인 행 |
OR | 하나 이상의 조건 충족 (~거나) | WHERE City = 'Berlin' OR CustomerID = '1' |
도시가 Berlin이거나 고객ID가 1인 행 |
NOT | 조건을 만족하지 않음 (아니다) | WHERE NOT City = 'Berlin' |
도시가 Berlin이 아닌 행 |
BETWEEN A AND B | A와 B 사이의 값 (A, B 포함) | WHERE Price BETWEEN 50 AND 60; |
가격이 50에서 60 사이인 행 |
LIKE | 문자열의 패턴 (부분적 일치 조건) |
WHERE City LIKE 's%'; | 도시가 s로 시작하는 행 |
IN | 찾고자 하는 특정 값 지정 | WHERE City IN ('Paris','London'); |
도시가 Paris나 London에 포함되는 행 |
LIKE 연산자의 경우 대부분 %(문자 개수 상관x) _(문자 개수 지정)와 같은 와일드카드와 함께 사용됩니다.
만약 LIKE 연산자에서 사용하는 와일드카드(%, _) 특수문자가 포함된 문자열을 검색하고자 한다면,
와일드카드를 일반 문자처럼 취급하기 위해 ESCAPE 문자를 지정해준 다음, ESCAPE 문자 뒤에 원하는 특수문자를 써서 조건을 주어야 합니다. (ESCAPE 문자임을 나타내기 위한 임시 와일드 문자 지정)
-- Customers 테이블에서 이름에 _가 포함된 행 출력
SELECT * FROM Customers
WHERE Name LIKE '#_' ESCAPE '#';
SQL AND, OR, NOT Operators
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'SQL' 카테고리의 다른 글
[SQL] INSERT INTO 구문 사용법&예제 - 새 레코드 삽입하기 (0) | 2023.01.28 |
---|---|
[SQL] ORDER BY 절 사용법&예제 - 실행 결과 정렬하기 (0) | 2023.01.23 |
[SQL] SELECT DISTINCT 구문 문법&예제 - 중복 제거해서 데이터 조회하기 (0) | 2023.01.09 |
[SQL] SELECT 구문 문법&예제 - 원하는 데이터 선택하여 조회하기 (0) | 2023.01.08 |
[SQL] SQL 기본 개념 (feat. w3school.com으로 SQL 공부하기) (0) | 2023.01.08 |