WHERE
SELECT, UPDATE, DELETE문 등에서 특정 레코드에 대한 조건을 설정할 때 사용되는 구문이다.
WHERE 구문 뒤에 조건 추가
🎓 단일 조건
-- 컬럼 ID가 1인 레코드 조건
SELECT * FROM Tab1
WHERE ID = 1
-- ID가 10 이하인 레코드들
SELECT * FROM Tab1
WHERE ID <= 10
-- ID가 10 이 아닌 모든 레코드들
SELECT * FROM Tab1
WHERE ID <> 10
-- 컬럼 NAME이 LEE인 레코드
SELECT * FROM Tab1
WHERE NAME = 'LEE'
-- NAME이 LEE가 아닌 레코드
SELECT * FROM Tab1
WHERE NAME <> 'LEE'
SELECT * FROM Orders
WHERE EmployeeID = 3;
SELECT * FROM OrderDetails
WHERE Quantity < 5;
🎓 복수 조건
여러 개의 조건식을 WHERE절에서 표현할 경우는 조건식들을 AND나 OR로 연결한다.
-- 컬럼 ID가 1이상 10이하인 조건
SELECT * FROM Tab1
WHERE ID >= 1
AND ID <= 10
-- QTY가 100이상이고 TOTAL값이 1000이상인 조건
SELECT * FROM Tab1
WHERE QTY >= 100
AND TOTAL >= 1000
-- CATEGORY가 VIP이거나 VVIP인 경우
SELECT * FROM Tab1
WHERE CATEGORY='VIP'
OR CATEGORY='VVIP'
-- TYPE이 1 또는 2이고
-- 동시에 CITY가 SEOUL인 경우
SELECT * FROM Tab1
WHERE (TYPE=1 OR TYPE=2)
AND CITY='SEOUL'
🎓 WHERE : LIKE, IN, BETWEEN
WHERE CITY LIKE 'S%' 와 같이 쓰면, S로 시작되는 모든 CITY를 가리킨다.
WHERE CITY IN ('SEOUL', 'PUSAN', 'JEJU') 는 CITY가 서울,부산,제주인 경우를 나타낸다.
BETWEEN은 컬럼값이 BETWEEN...AND의 범위값에 든 경우를 나타낸다.
-- ZIP이 98으로 시작되는 조건
SELECT * FROM Tab1
WHERE ZIP LIKE '98%'
-- Category가 PC,NOTEBOOK,NETBOOK인 경우
SELECT * FROM Tab1
WHERE CATEGORY IN ('PC','NOTEBOOK','NETBOOK')
-- LastName이 Lee와 Park사이인 경우
SELECT * FROM Tab1
WHERE LastName BETWEEN 'Lee' AND 'Park'
🎓 WHERE : IS NULL
컬럼값이 널(NULL)인 경우를 체크하기 위해서는 IS NULL을 사용한다.
반대로 NULL이 아닌 경우는 IS NOT NULL을 사용한다.
-- SCORE컬럼값이 널인 경우
WHERE SCORE IS NULL
-- SCORE컬럼값이 널이 아닌 경우
WHERE SCORE IS NOT NULL
🎯 WHERE절에 사용될 수 있는 SELECT 연산자
BETWEEN a AND b | a와 b사이의 데이터를 출력.(a, b값 포함) |
IN (list) | list의 값 중 어느 하나와 일치하는 데이터를 출력 |
LIKE | 문자 형태로 일치하는 데이터를 출력(%, _사용) |
IS NULL | NULL값을 가진 데이터를 출력 합니다. |
NOT BETWEEN a AND b | a와 b사이에 있지않은 데이터를 출력(a, b값 포함하지 않음) |
NOT IN (list) | list의 값과 일치하지 않는 데이터를 출력 |
NOT LIKE | 문자 형태와 일치하지 않는 데이터를 출력 |
IS NOT NULL | NULL값을 갖지 않는 데이터를 출력 |
728x90
반응형
'언어 > SQL' 카테고리의 다른 글
GROUP BY / HAVING / DISTINCT / WITH ROLLUP (0) | 2022.06.13 |
---|---|
ORDER BY (0) | 2022.06.13 |
SELECT (0) | 2022.06.13 |
예명(Alias) (0) | 2022.06.13 |
데이터 제한 및 정렬 (0) | 2022.06.10 |