-
MSSQL DELETE 및 DELETE JOINIT/SQL 2024. 4. 22. 13:33
MSSQL DELETE 문과 FROM 및 JOIN 절을 사용한 DELETE 문을 살펴봅니다.
구문
-- Syntax for SQL Server and Azure SQL Database [ WITH <common_table_expression> [ ,...n ] ] DELETE [ TOP ( expression ) [ PERCENT ] ] [ FROM ] { { table_alias | <object> | rowset_function_limited [ WITH ( table_hint_limited [ ...n ] ) ] } | @table_variable } [ <OUTPUT Clause> ] [ FROM table_source [ ,...n ] ] [ WHERE { <search_condition> | { [ CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } } ] [ OPTION ( <Query Hint> [ ,...n ] ) ] [; ] <object> ::= { [ server_name.database_name.schema_name. | database_name. [ schema_name ] . | schema_name. ] table_or_view_name }
잘 안쓰는 내용까지 섞여있어서 구문이 깁니다.
간단한 구문을 이용한 샘플을 보겠습니다.
기본구분은 아래와 같습니다.
DELETE FROM TA WHERE C1 < 10
JOIN 을 사용한 DELETE
테이블 TA 와 TB 는 각각 아래와 같이 10 개와 6개의 레코드가 있습니다.
현재 데이터 구문
DELETE A FROM TA A JOIN TB B ON A.C1 = B.C1
FROM 이하 절은 SELECT 등과 동일하고, DELETE 뒤에 지울 테이블의 ALIAS 를 넣어줍니다.
DELETE 결과
DELETE 결과 TOP 절을 이용한 DELETE
TOP 을 이용한 DELETE 대량의 데이터를 삭제할 때 잠김을 방지하기 위해서 종종 사용합니다.
'IT > SQL' 카테고리의 다른 글
MSSQL STRING_AGG (0) 2024.05.05 MSSQL REPLACE, TRANSLATE 문자 바꾸기 (1) 2024.04.25 MSSQL TRIM 공백제거 (0) 2024.04.21 SSMS 쿼리 후에 한글로 자동변환 될 때 (0) 2024.04.17 MSSQL 문자열 붙이기 CONCAT (0) 2024.04.17