문법
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'
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] [SQL DEVELOPER]테이블 구조만 복사, 테이블 데이터 복사 (0) | 2021.07.28 |
---|---|
[Oracle] ORACLE - MERGE INTO 구문 (0) | 2021.06.29 |
[ORACLE] CASE 함수 / CASE WHEN (0) | 2021.06.04 |
[Oracle] 전년도 현재 년도에 복사, INSERT - SELECT문 , SELECT한 결과를 INSERT (0) | 2021.05.27 |
[Oracle] 중복 데이터 찾기 / 중복 데이터 개수 찾기 GROUP BY / HAVING / COUNT (0) | 2021.03.05 |