INSERT table1 (id, name, status, date)
SELECT id, name, 'GOOD', now() /* id, name은 셀렉트된 값이고, 나머지 값은 임의로 넣은것 */
FROM table2 /* insert 의 테이블과 같아도 상관 없다 */
WHERE id=3
HAVING COUNT(*)=0
INSERT SELECT문을 한문장으로 정의하면
SELECT 된 값을 INSERT에 있는 테이블에 삽입하는 것이다.
먼저 SELECT 문을 보자.
table2 라는 테이블에서 id가 3인 데이터가 있는지 없는지 검사하고
그 데이터가 몇개인가 검사해서 0개라면
SELECT 옆에있는 값들을 table1에 INSERT 한다.
'개발 > Database' 카테고리의 다른 글
MyBatis] 반복되는 쿼리 묶기 Sql , include 태그 (0) | 2012.09.05 |
---|---|
MyBatis] 쿼리에서 특정 문자 제거 (if 사용시) (3) | 2012.08.28 |
[MySql] 같은 컬럼의 행들에 한방에 update 하기 (4) | 2012.08.07 |
[MYSQL] 가져온 값을 조건에 따라 값 바꾸기(case - when - end 문) (1) | 2012.08.02 |
iBatis, myBatis에서 (공백) 문자 비교하기 (2) | 2012.07.30 |