본문 바로가기
DBMS/Oracle

[Oracle] DELETE

by 성은2 2021. 6. 4.
문법

DELETE FROM 테이블명 | 뷰 | 서브쿼리

 WHERE 조건

-- 조건절에 해당하는 데이터를 모두 삭제한다.

-- 데이터가 여러개일 경우 모두 삭제되니 주의하자.

 

 

 

 

예제

DELETE FROM stu_table

WHERE grade = '1'

    AND class_divide = 'A'

-- grade가 1이고 class_divide가 A인 모든 데이터가 stu_table 테이블에서 삭제된다.

 

 

 

 

 

WHERE 절에 IN 활용

DELETE FROM stu_table

WHERE grade = '1'

   AND major_code IN ( SELECT major_code

                                 FROM major_table

                                WHERE depar_code = '01'

                               ) 

 

 

 

 

DELETE 실수 방지

데이터를 건드릴때는 항상 어떤 값이 변경될지 미리 확인 후 쿼리를 날려야 한다. 

DLELETE 문을 주석처리 후 SELECT 해보면 어떤 데이터가 변경될지 확인이 가능하기에 실수를 방지할 수 있다.

 

SELECT *

-- DELETE

FROM stu_table

WHERE grade = '1' AND class_divide = 'A'