Database - SELECT문 Part 3

Bomin Seo·2022년 7월 22일
0

TO_CHAR 함수

  • TO_CHAR()함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다.

날짜 포맷 변경

SELECT TO_CHAR(SYSDATE, 'YYYYMMDD')  # 20220722
	   , TO_CHAR(SYSDATE, 'YYYY-MM-DD) # 2022-07-22
FROM DUAL

과 같이 문자열 형식을 지정할 수 있다.

NVL 함수

  • NULL 값을 실제 값으로 변환한다.
  • 데이터 형식은 date, character, number가 사용될 수 있다.
  • 데이터 형식은 일치해야 한다.

NVL(expr1, expr2)

  • expr1값이 널값인 경우 expr2를 반환하며 그렇지 않다면 expr1값을 반환한다.

NVL2(expr1, expr2, expr3)

  • expr1이 널이 아닌 경우 expr2를 반환하며, 널인 경우는 expr3를 반환한다.
  • expr1에는 모든 데이터 유형을 사용할 수 있다.

NULLIF 함수

NULL(expr1, expr2)

  • 두 표현식을 비교하여 동일한 경우 널을 반환하고 동일하지 않다면 첫번째 표현식을 반환한다.

Conditional Expressions

  • SQL 문 안에 IF-THEN-ELSE의 논리 사용을 지원한다.

CASE 표현

CASE job_id WHEN 'IT_PROG' THEN 1.1 * SALARY
            WHEN 'SH_CLERK' THEN 1.2 * SALARY
            ELSE SALARY
END AS "REVISED_SALARY"

형식으로 사용한다.

DECODE 함수

DECODE(job_id,'IT_PROG', 1.1*SALARY,'SH_CLERK',1.2*SALARY,SALARY)

형식으로 사용한다.

조인 표현

동등 조인 (내부조인)

SELECT e.last_name, d.department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id

SELECT e.last_name, d.department_name
FROM employees e INNER JOIN departments d
ON (e.department_id = d.department_id)
  • 2가지 방식으로 표현할 수 있다.

자연 조인

SELECT e.last_name, d.department_name
FROM employees e NATURAL JOIN departments d

동일한 이름을 가지는 칼럼을 찾아 동등조건으로 조인하기 때문에 ON 구문을 기술하지 않아도 된다.

카티션 곱

  • 곱집합을 의미한다.
  • 조인 조건이 잘못되거나 생략된 경우, 첫번째 테이블의 모든행이 두번째 테이블의 모든 행과 조인이 되는 경우 발생한다.
  • 카티션 곱이 발생하는 경우 굉장히 비효율적이기 때문에 WHERE절에 유효한 조건을 기재해야 한다.
profile
KHU, SWCON

0개의 댓글