비교 연산자 배우기 1 (>, <, ≥, ≤, =, ≠, <>, ^=)
SELECT [컬럼명...]
FROM [테이블명]
-- sal <= 1200;
WHERE [컬럼명][비교 연산자][데이터값]
연산자 | 의미 |
---|---|
> | 크다 |
< | 작다 |
≥ (>=) | 크거나 같다 |
≤ (<=) | 작거나 같다 |
연산자 | 의미 |
---|---|
= | 같다 |
≠ (!=) | 같지 않다 |
<> | 같지 않다 |
^= | 같지 않다 |
비교 연산자 배우기 2 (BETWEEN, AND)
-- BETWEEN AND
SELECT [컬럼명...]
FROM [테이블명]
WHERE [컬럼명] BETWEEN [하한값] AND [상한값]
-- 연산자 활용
SELECT [컬럼명...]
FROM [테이블명]
WHERE ([컬럼명] >= [하한값] AND [컬럼명] <= [상한값])
- BETWEEN AND 사용시 주의사항으로 ‘하한값 AND 상한값’ 순으로 작성해야 검색이 된다. 역으로 ‘상한값 AND 하한값’ 검색하면 아무것도 표기되지 않음
BETWEEN 하한값 AND 상한값 | BETWEEN 상한값 AND 하한값 |
---|---|
SELECT [컬럼명…] FROM [테이블명] WHERE [컬럼명] BETWEEN [하한값] AND [상한값] | SELECT [컬럼명…] FROM [테이블명] WHERE [컬럼명] BETWEEN [상한값] AND [하한값] |
결과 출력 됨 | 결과 출력되지 않음 |
SELECT [컬럼명...]
FROM [테이블명]
WHERE ([컬럼명] > [하한값] OR [컬럼명] < [상한값])
- 가독성을 생각하면 BETWEEN AND가 더 보기 좋다.
비교 연산자 배우기3 (LIKE)
- 문자 패턴이 일치하는 행을 검색하는 방법
-- 패턴 일치하는 모든 행 검색
SELECT [컬럼명...]
FROM [테이블명]
WHERE [컬럼명...] LIKE 'S%';
-- 특정 철자 위치 모든 행 검색 (2번째 자리가 M)
SELECT [컬럼명...]
FROM [테이블명]
WHERE [컬럼명...] LIKE '_M%';
-- 특정 철자로 끝나는 모든 행 검색
SELECT [컬럼명...]
FROM [테이블명]
WHERE [컬럼명...] LIKE '%T';
-- 특정 철자를 포함하고 있는 모든 행
SELECT [컬럼명...]
FROM [테이블명]
WHERE [컬럼명...] LIKE '%A%';
- %는 와일드 카드(Wild Card)라고 한다. 와일드 카드는 이 자리에 어떠한 철자가 와도 상관없고 철자의 개수가 몇 개가 되든 관계가 없다는 뜻이다.
- %가 특수문자 퍼센트가 아니라 와일드 카드가 되려면 이퀄 연산자(=)가 아닌 LIKE 연산자를 사용해야 한다.
기호 | 설명 |
---|---|
% | 0개 이상의 임의 문자와 일치 |
_ | 하나의 문자 와일치 |
- LIKE와 같이 쓰이는 기호는 와일드 카드(%)와 언더바(_)가 있다. 와일드 카드는 어떤 문자가 해당 자리에 와도 관계가 없다는거고, 언더바는 어떠한 철자가 와도 관계없으나, 자리수는 해당 언더바 만큼의 한 자리여야 된다는 의미이다.
비교 연산자 배우기 4 (IS NULL)
- NULL 값을 검색하는 방법
-- 특정 컬럼이 NULL인 값 출력
SELECT [컬럼명...]
FROM [테이블명]
WHERE [컬럼명] is null;
- NULL은 데이터가 할당되지 않은 상태 또는 알 수 없는 값이라고 한다.
- NULL 값을 검색하기 위해서는 is NULL 연산자를 사용
- NULL이 아닌 데이터를 검색할 때도 [컬럼명] != NULL을 사용하여 검색할 수 없다.
비교 연산자 배우기 5(IN)
- 여러 개의 리스트 값을 검색하는 방법
-- 특정 컬럼값이 어떠한 값인 행 검색
SELECT [컬럼명...]
FROM [테이블명]
WHERE [컬럼명] in (조건 값, 조건 값, 조건 값...)
-- 특정 컬럼값을 연산자로 처리
SELECT [컬럼명...]
FROM [테이블명]
WHERE ([컬럼명] = '조건 값' or [컬럼명] = '조건 값' or job ='조건값' ...);
-- 특정 컬럼값의 다른 값을 연산자로 처리
SELECT [컬럼명...]
FROM [테이블명]
WHERE ([컬럼명] != '조건 값' or [컬럼명] != '조건 값' or job !='조건값' ...);