SQL
[ORACLE] 2. DML(INSERT, DELETE, UPDATE)
킹왕짱지지
2024. 4. 4. 15:49
INSERT
-- 묵시적 방법: 컬럼 이름. 순서 지정하지 않음. 테이블 생성시 정의한 순서에 따라 값 지정
INSERT INTO dept VALUES (777, 'MARKETING', NULL);
-- 명시적 방법: 컬럼 이름 명시적 사용. 지정되지 않은 컬럼 NULL/Default 자동 입력
INSERT INTO dept(dname, deptno) VALUES ('MARKETING', 777);
-- Subquery 이용: 타 테이블로부터 데이터 복사 (테이블은 이미 존재하여야함)
INSERT INTO deptusa
SELECT deptno, dname FROM dept WHERE country = 'USA';
UPDATE
-- 조건을 만족하는 레코드를 변경
UPDATE emp SET sal = sal + 100, comm = 0
WHERE deptno = 10;
-- WHERE 절이 생략되면 모든 레코드에 적용
UPDATE emp SET sal = sal * 1.1;
-- Subquery를 이용한 변경
UPDATE emp SET sal = (SELECT MAX(sal) FROM emp)
WHERE job = (SELECT job FROM emp WHERE
ename='SCOTT');
DELETE
- 조건을 만족하는 레코드 삭제
DELETE FROM emp WHERE ename = 'SCOTT';
-- 조건이 없으면 모든 레코드 삭제 (주의!)
DELETE FROM emp;
-- Subquery를 이용한 DELETE
DELETE FROM emp WHERE deptno =
(SELECT deptno FROM dept WHERE dname = 'SALES');