IN
- 값이 포함되는 데이터를 추출할 때 사용
- OR 개념
-- 기본 문법
SELECT *
FROM TABLE
WHERE COLUMN IN ("컬럼1", "컬럼2")
-- 해석
-- 컬럼1과 컬럼2가 포함되는 데이터만 추출됨
SELECT *
FROM TABLE
WHERE COLUMN = "컬럼1"
OR COLUMN = "컬럼2"
-- 서브쿼리 사용 가능
-- 서브쿼리 사용 시, NULL이 포함되는 경우에는 데이터가 출력되지 않기 때문에
-- 조회 컬럼에 IS NOT NULL 조건을 걸어줄 것
SELECT *
FROM TABLE_A
WHERE COLUMN_A IN (SELECT COLUMN_B
FROM TABLE_B)
NOT IN
- 포함되지 않는 데이터를 추출할 때 사용
- AND 개념
-- 기본 문법
SELECT *
FROM TABLE
WHERE COLUMN NOT IN ("컬럼1", "컬럼2")
-- 해석
-- 컬럼1과 컬럼2가 포함되지 않는 데이터만 추출됨
SELECT *
FROM TABLE
WHERE COLUMN <> "컬럼1"
AND COLUMN <> "컬럼2"
-- 서브쿼리 사용 가능
-- 서브쿼리 사용 시, NULL이 포함되는 경우에는 데이터가 출력되지 않기 때문에
-- 조회 컬럼에 IS NOT NULL 조건을 걸어줄 것
SELECT *
FROM TABLE_A
WHERE COLUMN_A NOT IN (SELECT COLUMN_B
FROM TABLE_B)
SUBSTR
- 문자열을 자를때 사용하는 기본 함수
- 자바스크립트나 제이쿼리의 String.substring()과 비슷함
-- 기본 문법
SUBSTR(컬럼, "시작 위치", "길이")
-- 사용 예시
SELECT SUBSTR('hello world', 0, 2)
FROM DUAL
-- 추출 결과
he
NVL
- 값이 NULL인 경우 지정값을 출력, NULL이 아닌 경우 원래 값을 그대로 출력
-- 기본 문법
NVL(컬럼, "NULL일 경우 지정할 값")
-- 사용 예시
-- COLUMN이 NULL일 경우 0으로 출력하고, 그렇지 않은 경우 원래값을 출력
SELECT NVL(COLUMN, 0) AS COLUMN
FROM DUAL
NVL2
- 값이 NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값 2를 출력
- NULL 체크가 조건인 IF문 개념 → DECODE함수와 NVL 함수를 합쳐놓은 형태라고 생각하기
-- 기본 문법
NVL(컬럼, "NULL이 아닐 경우 지정할 값", "NULL일 경우 지정할 값")
-- 사용 예시
-- COLUMN이 NULL이 아닐 경우 여, 그렇지 않은 경우 남을 출력
SELECT NVL2(COLUMN, "여", "남") AS COLUMN
FROM DUAL
TRUNC
- 소수점 절사 및 날짜의 시간을 없앨 때 사용
- 더 많은 예시는 https://gent.tistory.com/192 참고
-- 기본 문법
TRUNC("값(컬럼)", "옵션")
-- 사용 예시
WITH TEMP AS (
SELECT TO_DATE('2022-09-08 09:32:59', 'YYYY-MM-DD HH24:MI:SS') AS DT
, 1234.56 AS NUM
FROM DUAL
)
SELECT DT
, TRUNC(DT) -- 시간 절사
, NUM
, TRUNC(NUM) -- 소수점 절사
FROM TEMP;
-- 추출 결과
DT TRUNC(DT) NUM TRUNC(NUM)
----------------------- ---------- -------- ----------
2022/09/08 오전 9:32:59 2022/09/08 1234.56 1234
'STUDY' 카테고리의 다른 글
Spring Security | 403에러 해결과 CSRF 토큰 재발급 및 적용 과정 (0) | 2023.03.22 |
---|---|
JAVA | Apache POI를 이용한 Excel 파일 읽기, 수정, 다운로드 (0) | 2023.02.17 |
JavaScript | replace()와 정규식 (0) | 2022.08.30 |
ORACLE | CASE WHEN 표현식과 DECODE (0) | 2022.08.23 |
CSS | display:none VS visibility:hidden의 차이 (0) | 2022.06.22 |