1. 연산자 (Operator)
- 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용
연산자 종류 : 1. 연결 연산자 2. 산술 연산자 3. 관계 연산자 4. SQL 연산자 5. 논리 연산자 |
2. SQL 연산자
- SQL에서만 존재하는 연산자
- SQL 연산자 종류
1. BETWEEN a AND b 2. IN(a,b,c) 3. LIKE _/% 4. IS (NOT) NULL 5. ANY(a,b,c) 6. ALL(a,b,c) |
1. BETWEEN a AND b
- a 이상 b 이하인 조건
2. IN(a,b,c)
- a 또는 b 또는 c 일때 조건
3. LIKE
- 문자열 패턴을 검색할 때 연산자
- 문자열이 데이터에 부분일치하는지를 검사한다.
- %(퍼센트) : 부분일치하는 데이터 검색
D% : D로 시작하는 데이터
%라면% : 앞뒤 무슨 글자이던지 라면이라는 문자가 있는 데이터
%e : e로 끝나는 데이터
- _(언더바) : 언더바 갯수에 따라 몇자리 글자인지를 검색한다.
_ _ _ _ e : 5자리인데 마지막 글자가 e로 끝나는 데이터 검색
4. IS NULL / IS NOT NULL
- NULL 값을 검사할 때 사용하는 연산자
IS NULL : NULL값이 맞는지 검사할떄 사용
IS NOT NULL : NULL값이 아닌지 검사할때 사용
- NULL이란? 데이터가 없음을 나타내는 값
5. ANY(a,b,c)
- a, b, c중 아무거나 만족하는 조건
6. ALL(a,b,c)
- a, b, c를 전부 만족하는 조건
3. 전체 쿼리문
-----------------------------------------------------------------
-- SQL 연산자
-----------------------------------------------------------------
-----------------------------------------------------------------
-- 1. BETWEEN A AND B
-----------------------------------------------------------------
-- EMPLOYEES 테이블에서 SALARY가 10000이상 12000이하인 이름,성,봉급 조회
SELECT
FIRST_NAME,
LAST_NAME,
SALARY
FROM
EMPLOYEES
WHERE
SALARY BETWEEN 10000 AND 12000;
-----------------------------------------------------------------
-- 2. IN(A,B,C)
-----------------------------------------------------------------
-- 봉급이 10000 또는 11000 또는 12000인 직원만 조회
SELECT
FIRST_NAME,
LAST_NAME,
SALARY
FROM
EMPLOYEES
WHERE
SALARY IN(10000,11000,12000);
-----------------------------------------------------------------
-- 3. LIKE : 문자열 패턴을 검색할때 사용하는 연산자
-----------------------------------------------------------------
-- D% : D로 시작하는 아무거나 다 가져와
-- %e : e로 끝나는 아무거나 다
-- %e% : e가 들어간 아무거나 다 가져와 (자리 상관없이, 대소문자 구분)
SELECT
FIRST_NAME
FROM
EMPLOYEES
WHERE
FIRST_NAME LIKE '%e%';
-- _:자리수
SELECT
FIRST_NAME
FROM
EMPLOYEES
WHERE
FIRST_NAME LIKE '____e';
-----------------------------------------------------------------
-- 4. IS NULL / IS NOT NULL : NULL 값을 검사할 때 사용하는 연산자
-----------------------------------------------------------------
SELECT COMMISSION_PCT
FROM EMPLOYEES
WHERE COMMISSION_PCT IS NULL;
-- NULL값과 다른 값들을 연산하면 결과는 무조건 NULL
SELECT NULL + 10
FROM EMPLOYEES;
-----------------------------------------------------------------
-- 5. ANY(a,b,c) : a, b, c중 아무거나 만족하는 조건
-----------------------------------------------------------------
SELECT SALARY
FROM EMPLOYEES
WHERE SALARY = ANY(10000,11000,12000)
-----------------------------------------------------------------
-- 6. ALL(a,b,c) : a, b, c 전부 만족하는 조건
-----------------------------------------------------------------
SELECT SALARY
FROM EMPLOYEES
WHERE SALARY = ALL(10000,11000,12000)
-----------------------------------------------------------------
-- [실습]
-----------------------------------------------------------------
-- 1. SALARY가 8000이상에 이름이 D로 시작하는 이름,성, 봉급 조회
SELECT
FIRST_NAME,
LAST_NAME,
SALARY
FROM EMPLOYEES
WHERE
FIRST_NAME LIKE 'D%' AND SALARY >= 8000
-- 2. 보너스를 받지 않고 이름이 총 5자리수로 e로 끝나는 직원의 이름,성, 보너스 조회
SELECT
FIRST_NAME,
LAST_NAME,
COMMISSION_PCT
FROM
EMPLOYEES
WHERE
COMMISSION_PCT IS NULL AND FIRST_NAME LIKE '____e';
728x90
'DBMS > Oracle SQL' 카테고리의 다른 글
SQL 문법 종류 DML DDL DCL TCL (0) | 2024.02.24 |
---|---|
DBMS 논리 연산자 AND OR NOT (0) | 2024.02.23 |
DBMS 관계 연산자 (feat. WHERE 명령문) (0) | 2024.02.23 |
DBMS 산술 연산자 (0) | 2024.02.23 |
DBMS 연결 연산자 (0) | 2024.02.23 |