테이블에 존재하는 레코드를 삭제하는 경우, DELETE문 또는 TRUNCATE문을 사용한다.
DELETE문은 주로 WHERE조건을 만족하는 일부 레코드를 삭제하는 경우 사용하고, TRUNCATE문은 테이블에 존재하는 모든 레코드를 삭제하는 경우 사용한다. 삭제 연산은 WHERE절을 생략하면 해당 테이블에서 모든 레코드들이 삭제되어 빈 테이블이 되므로 매우 신중하게 사용해야 한다.
DELETE FROM 테이블 [WHERE 조건];
nation 테이블에서 code 값이 ‘CIA’인 레코드를 삭제하라.
-- 데이터 삭제 DELETE FROM nation WHERE code='CIA'; -- 데이터 확인 SELECT * FROM nation
nation_gold_count 테이블에서 nation 테이블의 continent(대륙명)이 Americas인 국가 코드를 가진 레코드를 모두 삭제하는 쿼리를 작성하라.
-- 데이터 삭제 DELETE FROM nation_gold_count WHERE nation_code IN ( SELECT code FROM nation WHERE continent='Americas' ); -- 데이터 확인 SELECT * FROM nation_gold_count ;
IN 연산자 내에는 복수개의 결과 레코드를 가져오는 SELECT문을 사용할 수 있으나, 동등 비교 연산자(=)의 우변에는 단일 결과 레코드를 가져오는 SELECT문만 사용할 수 있다.
- 강좌 URL : http://www.gurubee.net/lecture/2053
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.