-- 컬럼과 컬럼 연결
SELECT
EMP_ID || EMP_NAME || SALARY -- 컬럼과 컬럼 연결
,EMP_NAME || '의 월급은 ' || SALARY || '원 입니다.' -- 컬럼과 리터럴 연결
FROM EMPLOYEE;
논리 연산자
여러 개의 제한 조건 결과를 하나의 논리 결과로 만들어준다.
연산자
설명
AND
여러 조건이 동시에 TRUE일 경우에만 TRUE값 반환
OR
여러 조건들 중에 어느 하나의 조건만 TRUE이면 TRUE값 반환
NOT
조건에 대한 반대값으로 반환(NULL은 예외)
비교 연산자
비교 결과는 논리 결과 중에 하나(TRUE, FALSE, NULL)가 된다.
비교하는 두 컬럼은 동일한 데이터 타입이어야 한다.
연산자
설명
=
같다
> , <
크다 / 작다
>= , =<
크거나 같다 / 작거나 같다
<> , != , ^=
같지 않다
BETWEEN A AND B
A <= 범위 <= B , 범위에 포함되는지 비교
LIKE / NOT LIKE
문자 패턴 비교
IS NULL / IS NOT LIKE
NULL 여부 비교
IN / NOT IN
비교 값 목록에 포함/미포함 되는지 비교
IS NULL , IS NOT NULL
SELECT
EMP_ID
, EMP_NAME
, SALARY
, BONUS
FROM EMPLOYEE
WHERE BONUS IS NULL; -- NULL 값 조회
-- WHERE BONUS IS NOT NULL; -- NULL이 아닌 값 조회
BETWEEN A AND B , NOTBETWEENAANDB
SELECT
EMP_ID
, EMP_NAME
, DEPT_CODE
, JOB_CODE
FROM EMPLOYEE
WHERE SALARY BETWEEN 3500000 AND 5500000; -- 3500000 <= SALARY <= 5500000
-- WHERE SALARY NOT BETWEEN 3500000 AND 5500000; -- 3500000 > SALARY, 5500000 < SALARY
LIKE , NOT LIKE
% : 0개 이상의 글자
- : 글자 한 자리
SELECT
EMP_NAME
, EMP_NO
, DEPT_CODE
FROM EMPLOYEE
WHERE EMP_NAME LIKE '%하%'; -- 이름에 '하' 포함
-- WHERE EMP_NAME NOT LIKE '%하%'; -- 이름에 '하' 미포함
ESCAPE
특수 문자를 실제 문자로 인식하도록 해준다.
아래 코드는 # 을 EXCAPE문자로 사용했다
SELECT
EMP_ID
, EMP_NAME
, EMAIL
FROM EMPLOYEE
WHERE EMAIL LIKE '___#_%' ESCAPE '#';
IN , NOT IN
여러 OR 연산자가 필요할 때 쓴다.
SELECT
EMP_NAME
, DEPT_CODE
, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE IN('D6', 'D8'); -- 부서코드가 'D6'이거나 'D8'인 직원
-- WHERE DEPT_CODE NOT IN('D6', 'D8'); -- 부서코드가 'D6'이거나 'D8'인 직원을 제외한 나머지 직원