[Oracle] 비교 연산자 배우기 1 (>, <, ≥, ≤, =, ≠, <>, ^=)[

비교 연산자 배우기 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 !='조건값' ...);
LIST