본문 바로가기
DB/MySQL

SELECT 명령문의 조합

by 가므자 2012. 3. 12.
MySQL은 SELECT 명령문과 조합할 수 있는 집합 연산자를 제공한다.
UNION
UNION ALL

UNION의 조합
모든 중복된 행이 최종결과에서 자동적으로 제거된다.
예제)
mysql> select stu_no
> from attend
> union
> select sut_no
> from fee;

UNION을 사용하기 위한 규칙
관련된 모든 선택 블록의 SELECT 절은 열의 수를 동일하게 가져야 한다.
최종 결과를 만들어내는 수식은 서로 비교할 수 있는 자료형이어야 한다.
ORDER BY 절은 마지막 선택 블록에서만 지정할 수 있다. 순서화는 모든 중간결과가 결합된 후에 전체 최종 결과에서 수행된다.
SELECT 절은 DISTINCT를 가질 수 없다.

UNION의 ALL의 조합
중복된 행을 삭제하는 것을 이러한 연산자의 변형인 ALL을 사용함으로써 막을 수 있다.

집합 연산자와 NULL 값
SQL은 집합 연산자인 UNION, INTERSECT, MINUS가 사용되면 자동적으로 중복된 행을 제거한다.
NULL을 가지고 있다면?
학번은 동일하지만 장학금액은 서로 다르다기 때문에 제거 되지 않고 2개의 행을 출력한다.

'DB > MySQL' 카테고리의 다른 글

EXISTS 와 IN의 차이  (1) 2012.03.13
서브 쿼리  (0) 2012.03.13
ORDER BY 절  (0) 2012.03.12
GROUP BY와 HAVING  (0) 2012.03.12
통계 함수  (0) 2012.03.12

댓글