정렬하여 insert 하는 방법 3 664

by 돛새치 [2009.01.15 09:48:43]


검색어에 정렬 , insert 별개로 해서 검색하니 너무 방대하고 찾기 어려워 직접 질문드립니다.

질문은 간단합니다.

A라는 테이블에 insert 를 하고 싶은데 B테이블과 C테이블의 내용을 그대로 넣는겁니다

다만 순서를 B의 '가' 컬럼, C의 '나' 컬럼 순으로 해서 A에 넣고 싶습니다.

 

insert into A
select B.가, C.나,B.다,C.마
from B,C
where B.라 = C.라;                  -> 여기서 order by B.가, C.나 를 추가 해 넣고 싶은겁니다

깨우침 부탁드립니다.

by 현 [2009.01.15 10:05:00]
정렬을 해서 넣고 싶은 이유가 궁금합니다.
클러스터 팩터를 높이기 위함인가요? 아니면 조회할 때 정렬하고 싶어서 인가요?
클러스터 팩터를 높이기 위함이면 일리가 있는 말씀이신거고 조회할 때 정렬하고 싶으신 거면 조회하실 때 인덱스나 order by 등을 이용하시면 됩니다.

by 현 [2009.01.15 10:06:10]
이유야 어쨌든 간에 정렬해서 넣고 싶으시다면 order by 대신 group by를 사용해서 넣으시면 됩니다.(10g 이전 버전)
insert into A
select B.가, C.나,B.다,C.마
from B,C
where B.라 = C.라;
group by B.가, C.나,B.다,C.마

by 마농 [2009.01.15 10:50:17]
order by 구문을 넣고 싶으시다고 한 부분에 직접 넣어는 보셨나요?
오류 없이 될텐데요.
그러나 정렬해서 넣는다고 해서 조회할때 정렬된 상테로 조회되지는 않습니다.