Oracle - DML

목차


SELECT

SQL 쿼리는 일반적으로 아래와 같은 구성으로 작성한다.

1
2
3
SELECT ename, sal
FROM emp
WHERE sal >= 1000;

DML은 여기서 SELECT 에 해당하는 언어이며, 데이터를 조작하는 의미를 갖는다.

SELECT는 데이터를 조회할 때 사용하는 DML 쿼리이다.


INSERT

INSERT는 데이터를 추가할 때 사용하는 DML 쿼리이다.

1
2
INSERT INTO [테이블명](column1, column2, column3)
VALUES ('property1','property2','property3')


UPDATE

추가된 데이터를 수정할 때 사용하는 쿼리이다. 추가할 때 HIREDATE에 데이터를 입력하지 않았는데, 현재 날짜(SYSDATE)를 HIREDATE로 수정해서 넣어봤다.

1
2
3
UPDATE [테이블명]
SET [column1] = 'property11'
WHERE [column2] = 'property2'


DELETE

데이터를 삭제할 때 사용한다.

1
2
DELETE FROM [테이블명]
WHERE [column1] = 'property11'


산술 연산자

  • 산술 연산자(+, -, /, *) 를 이용하여 column의 데이터에 대한 연산결과를 출력할 수 있다.
1
2
3
// emp 테이블에서 sal(임금)과 comm(보너스)를 추가한 실수령액을 조회하는 sql 쿼리
SELECT ename, sal, nvl(comm, 0), sal+nvl(comm, 0)
FROM emp;

NVL 함수

  • NULL 을 처리하는 함수이다.
    만약 연산에 사용하는 column의 데이터가 null을 포함하고 있을 경우, null 대신에 특정 값으로 바꿔서 출력을 도와준다.
  • 값이 없는 column의 경우 null 값을 출력하는데, 이렇게되면 연산시int + null의 연산에 의해 제대로된 데이터를 출력하지 않는다. 따라서 null 일 경우 특정 값(0)으로 바꾸도록 할 때 사용하는 함수이다.
  • 오라클 공식문서 링크

NVL 함수 미적용

NVL함수 적용


Concat 연산자 ( || )

  • 문자열을 합치는 연산자이다.

    1
    2
    SELECT ename || 's job is ' || job
    FROM emp;

Distinct 키워드 ( distinct)

  • select 문을 통해 가져온 모든 row 중에서 중복된 row를 제거하는 키워드이다.

    1
    SELECT distinct deptno FROM emp;