SQL 자주쓰는 쿼리 _ 유니온 ! UNION
- 프로그래밍 정보
- 2010. 2. 25.
반응형
읽기전에 손가락 한번 클릭~ >_<
고마워요 ~ Chu ~ ♥
음... 이제는 쿼리 중 유니온 쿼리 !
유니온 : SELECT 의 열 리스트를 바탕으로 두개 이상의 쿼리의 결과를 하나의 테이블로 합친다
유니온의 결과를 각 SELECT 의 값들이 ' 겹쳐진 ' 결과라고 생각하면 쉽다
유니온의 결과를 각 SELECT 의 값들이 ' 겹쳐진 ' 결과라고 생각하면 쉽다
정도...? 이다 ... ㅋㅋㅋ
SELECT name FROM A테이블
UNION
SELECT name FROM B테이블
UNION
SELECT name FROM C테이블
ORDER BY name;
UNION
SELECT name FROM B테이블
UNION
SELECT name FROM C테이블
ORDER BY name;
정도 되겠다....ㅋㅋㅋ
유니온의 주의점으로는
♠ 유니온은 문장의 끝에 한개의 ORDER BY 만을 받는다
♠ 각 SELECT 문의 열수는 같아야 한다
♠ SELECT 의 순서는 중요하지 않다
♠ 중복값은 제거되는 것이 디폴트
♠ 열의 데이터 타입은 같거나, 서로 변환 가능한 값이어야 한다
♠ UNION ALL 을 쓰면 중복된 값도 출력 할 수 있다
♠ 각 SELECT 문의 열수는 같아야 한다
♠ SELECT 의 순서는 중요하지 않다
♠ 중복값은 제거되는 것이 디폴트
♠ 열의 데이터 타입은 같거나, 서로 변환 가능한 값이어야 한다
♠ UNION ALL 을 쓰면 중복된 값도 출력 할 수 있다
음......
유니온을 쓰면 좋은 점 중 하나는
유니온 쿼리는 각 SELECT 문의 값들을 하나로 합쳐 주므로
기존 테이블의 여러가지 흝어져 있는 값들을 이용해서
새로운 테이블을 만들때 아주아주 유용하다.
CREATE TABLE 테이블명 AS
SELECT 칼럼명 FROM 기존테이블명1
UNION
SELECT 칼럼명 FROM 기존테이블명2 ;
SELECT 칼럼명 FROM 기존테이블명1
UNION
SELECT 칼럼명 FROM 기존테이블명2 ;
바로 테스트 돌입 !!!!
우선 기존 테이블은 item 테이블 1,2
여기에서 꼭 필요하다 싶은 테이블의 칼럼들을 2개 뽑아
새로운 테이블을 만들어 보겠다
테스트 시 뽑아올 칼럼은....음......
뭘로 할까??
name 칼럼과 item 칼럼을 뽑아 와봐야지 ㅋㅋㅋ
자, 유니온으로 테이블을 만들었고~
이제 잘 만들어 졌나 확인을~~
잘 만들어지긴 했지만
두개의 칼럼 값이 하나의 값으로 변경되었따
칼럼 명칭이 name 인것으로 보아 먼저 나오는 칼럼 이름으로 설정하는것 같다
이상 유니온 쿼리 !!!
다음번 포스팅엔
흔히들 가볍게 많이들 쓰는 MySQL 에는 없는 일반적인 쿼리 2가지를 해봐야지~~
반응형