ORACLE SQL DELETE 명령어
테이블 데이터를 삭제하기 위한 명령어 입니다.
- 자신 계정에서 만든 테이블이거나 테이블에 대한 DELETE 권한이 있어야 합니다.
- WHERE 조건을 생략하면 테이블의 모든 레코드가 삭제되므로 조심해야 합니다.
- WHERE 조건은 컬럼명, 표현식, 상수, 서브쿼리, 비교 연산자 등이 올 수 있습니다.
[기본 형식]
DELETE [FROM] table_name [WHERE 조건] |
EMP 테이블에서 이름이 ‘SMITH’인 사원의 데이터를 삭제 하세요. |
DELETE FROM emp WHERE ename = 'SMITH' |
<실행결과>
1 행 이(가) 삭제되었습니다.
SELECT COUNT(*) FROM emp WHERE ename = 'SMITH'; |
<실행결과>
COUNT(*) | |
1 | 0 |
서브 쿼리를 이용한 DELETE : EMP 테이블에서 부서명이 ‘SALES’인 데이터를 삭제하시오. 부서명 컬럼은 DEPT 테이블에 존재하므로 DEPT 테이블에서 부서명이 ‘SALES’인 부서의 부서코드(deptno)를 알아낸 후 EMP 테이블에서 해당 부서원들을 삭제합니다. |
DELETE FROM emp WHERE deptno = ( SELECT deptno FROM dept WHERE dname = 'SALES' ) |
<실행결과>
6개 행 이(가) 삭제되었습니다.
EMP 테이블에서 부서명이 ‘SALE’인 사원들을 카운트 해봅니다. |
SELECT COUNT(*) FROM emp WHERE deptno = ( SELECT deptno FROM dept WHERE dname = 'SALES' ) |
<실행결과>
COUNT(*) | |
1 | 0 |
삭제한 데이터를 다음 실습늘 위해 원래대로 되돌립니다. |
ROLLBACK |
#오라클, #오라클DELETE, #DELETE, #SQLDELETE