DB, SQL

[mariadb] 테이블의 select 출력 결과로 insert 하기

isaac.kim 2021. 7. 14. 22:51
728x90
반응형

[mariadb] 테이블의 select 출력 결과로 insert 하기

광고 한 번의 클릭은 개발자에게 매우 큰 도움이 됩니다.

 

Insert 하려는 대상 테이블 : A

select 하는 대상 테이블 : B

 

위처럼 가정합니다.

 

A와 B 테이블 구조가 같거나 칼럼의 데이터 타입이 일치하면 조건에 충족되면 B 테이블의 SELECT 한 결과를 A 테이블에 바로 INSERT 시킬 수 있습니다.

 

 

SELECT 출력 결과로 INSERT 하기

INSERT INTO A (A1, A2, A3) 
SELECT A1, A2, A3 FROM A

INSERT INTO A (A1, A2, A3) 
SELECT B1, B2, B3 FROM B

첫 번째 쿼리처럼, 자기 자신을 넣을 수도 있고, 두 번째 쿼리처럼 데이터 타입이 일치하면 다른 테이블의 데이터도 바로 INSERT 할 수 있습니다.

 

 


예시)

 

현재 18개의 ROW로 확인이 되는데요. 위 쿼리를 사용해서 자기 자신의 테이블에 자기 자신을 넣어보면 총 36개 의 ROW가 생성될 것입니다.

자기 자신의 데이터를 넣고 다시 조회했더니 36개의 ROW가 확인되는 것을 볼 수 있습니다. (seq_bno의 개수와 row 개수는 다릅니다. 중간에 삭제하는 등 테스트 진행했음.)


오늘은 테이블의 select 출력 결과로 insert 하기에 대해 알아보았습니다. 도움이 되셨다면 구독! 좋아요♥ 눌러주세요~!

728x90
반응형