반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- security
- spring3
- ajax
- mysql
- config
- centos7
- mybatis
- Next.js
- post
- MariaDB
- docker
- nodejs
- git
- jenkins
- Maven
- node.js
- spring
- console
- MSsql
- javascript
- Eclipse
- jquery
- popup
- SpringBoot
- NextJS
- rocky9
- PM2
- yona
- Java
- War
Archives
- Today
- Total
ふたりで
MSSQL SELECT 결과로 DELETE 하기. 본문
728x90
반응형
SMALL
# MSSQL에서 지정된 조건을 기반으로 DELETE 쿼리를 작성하는 방법이다.
MSSQL에서는 다중 열을 이용한 IN 조건이 지원되지 않으므로, 대신 EXISTS를 사용할 수 있다.
아래는 Mart_User 테이블에서 mart_code와 emp_code 값이 Auth_Mart테이블의 user_mart와 user_emp 값과 일치하고, 추가로 user_auth 값이 'C'인 행을 삭제하는 쿼리이다.
DELETE FROM Mart_User
WHERE EXISTS (
SELECT 1
FROM Auth_Mart
WHERE Auth_Mart.user_mart = Mart_User.mart_code
AND Auth_Mart.user_emp = Mart_User.emp_code
AND Auth_Mart.user_auth = 'C'
);
이 쿼리는 다음과 같은 단계로 동작한다.
- EXISTS 서브쿼리를 사용하여 Auth_Mart 테이블에서 user_mart와 user_emp 값이 Mart_User 테이블의 mart_code와 emp_code 값과 일치하고 user_auth 값이 'C'인지를 확인한다.
- EXISTS 조건이 참인 경우, Mart_User 테이블에서 해당 행을 삭제한다.
728x90
반응형
SMALL
# 삭제될 행을 미리 확인하기 위해 아래와 같이 SELECT 쿼리를 사용할 수 있다.
SELECT * FROM Mart_User
WHERE EXISTS (
SELECT 1
FROM Auth_Mart
WHERE Auth_Mart.user_mart = Mart_User.mart_code
AND Auth_Mart.user_emp = Mart_User.emp_code
AND Auth_Mart.user_auth = 'C'
);
728x90
반응형
LIST
'Other' 카테고리의 다른 글
windows11 특정 port를 사용중인 프로그램 찾기 (0) | 2024.05.21 |
---|---|
yona GIT 활용 참고. (0) | 2024.01.30 |
SQL 테이블내 데이터의 합으로 일괄 업데이트 (0) | 2024.01.10 |
MSSQL 날짜를 문자로 변환... (1) | 2023.12.26 |
MSSQL 설치 후 한글 깨짐 (0) | 2023.12.20 |
Comments