티스토리 뷰
반응형
select로 insert 하기
1. insert into 삽입될 테이블(컬럼 나열1, 컬럼 나열2 ...)
select (컬럼 나열1, 컬럼 나열2 ...) from 참고할 테이블 where 조건(조건은 없어도 됨)
위와 같이 select문으로 검색된 데이터를 첫 번째 줄에 있는 테이블에 해당 컬럼으로 넣는다.
그리고 insert into방식에서 삽입될 테이블은 반드시 미리 생성하고 사용해야 한다.
INSERT INTO BACKUPROWDATA(EMPNO, NAME, MENUNO, MENUNAME, ORDERDATE, BACKUPDATE)
SELECT B.EMPNO, B.NAME, C.MENUNO, C.MENUNAME, A.ORDERDATE, GETDATE() AS BACKUPDATE
FROM [Order] A INNER JOIN Customer B
ON A.EMPNO = B.EMPNO INNER JOIN OrderSheet C
ON A.MENUNO = C.MENUNO;
2. select (컬럼 나열1, 컬럼 나열2 ...) into 삽입될 테이블 from 참고할 테이블 where 조건(조건은 없어도 됨)
1번 방식과 똑같지만 다른점은 여기선 삽입될 테이블을 생성하면서 넣어준다. 즉 미리 만들지 않아도 됨!
SELECT B.EMPNO, B.NAME, C.MENUNO, C.MENUNAME, A.ORDERDATE, GETDATE() AS BACKUPDATE INTO BACKUPROWDATA
FROM [Order] A INNER JOIN Customer B
ON A.EMPNO = B.EMPNO INNER JOIN OrderSheet C
ON A.MENUNO = C.MENUNO;
select로 update 하기
update A | B
set 변경하는 컬럼 = 값
From A join B
...
UPDATE A
SET A.ISMEMBERSHIP = 'Y'
FROM Customer A INNER JOIN (
SELECT EMPNO
FROM [ORDER]
GROUP BY EMPNO
) B
ON A.EMPNO = B.EMPNO;
insert와 유사하게 바꿔줄 조건을 지정해서 한번에 수정하는 역할이다.
select로 delete하기
Delete A | B
from A join B
...
DELETE A
FROM OrderSheet A LEFT OUTER JOIN (
SELECT MENUNO
FROM [ORDER]
GROUP BY MENUNO
) B
ON A.MENUNO = B.MENUNO
WHERE B.MENUNO IS NULL;
반응형
'DB' 카테고리의 다른 글
임시테이블 사용하기 (MS-SQL) (0) | 2019.07.17 |
---|---|
Select 절에서 서브쿼리로 count값 구하기(MS-SQL) (0) | 2019.07.16 |
오라클 sysdate에서 시간 더하기 (0) | 2019.03.07 |
설계된 DB ERD 모델 다이어그램으로 뽑아내기 (0) | 2019.01.27 |
DB 테이블 구조, 데이터 뽑아내기 (0) | 2019.01.16 |
댓글