ABOUT ME

Today
Yesterday
Total
  • MSSQL DELETE 및 DELETE JOIN
    IT/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' 카테고리의 다른 글

    댓글

Designed by Tistory.