RadarURL
Skip to content
조회 수 3615 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Introduction

쿼리 결합은 대개 "서로 다른 테이블을 참조하기 위해서거나, 테이블 하나에서 여러 조건을 찾기 위해서" 사용 한다. 이번 장은 UNION을 이용한 쿼리 결합을 다룬다.

Content

1. 무엇을 쿼리 결합 이라 하는가?

쿼리가 질의 라는 것은 안다. 질의 라는 것은 DB에 질문을 하는 것이라는 것도 안다. 그렇다면, 쿼리 결합은 무엇을 의미할까? 이것은 쿼리 하나에 쿼리가 여러개 들어가 하나의 쿼리가 된 형태를 뜻한다.

2. 왜 쿼리 결합을 이용하는가?

쿼리 결합은 다른 테이블 참조나 테이블 하나에 여러 조건을 확인해야 할 때 많이 사용 한다. 쿼리 결합은 서브 쿼리를 이용한 결합과 UNION 을 통한 결합이 있으며, 이번장에선 UNION 을 통한 결합을 배운다.

3. 어떻게 UNION을 사용하는가?

쉽다.  SELECT 문을 두개 준비하고, 그 사이에 UNION을 넣어주면 된다. 다음 코드를 보자

 

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT 
    cust_name, cust_contact, cust_email
FROM 
    Customers
WHERE 
    cust_state IN ('IL', 'IN', 'MI')
UNION
SELECT 
    cust_name, cust_contact, cust_email
FROM 
    Customers
WHERE 
    cust_name = 'Fun4All';


 

USE_UNION_INTERPRETATION.png

해석

USE_UNION_OUTPUT.png

출력


4. 주의 사항이 UNION 에 있는가?

  • 테이블이 두개 이상일 때, UNION을 사용 할 수 있다.
  • UNION으로 엮인 쿼리는 동일한 열을 선택해야 한다. 그렇다고 같은 순서로 나열해야 한다는 것을 의미하지는 않는다.
  • 열 데이터 형식은 서로 호환되어야 한다.
  • 기본적으로 UNION 을 사용 하면, 중복된 행은 출력하지 안하지 않는다. 이때 중복된 행이란 것은 UNION 으로 지정한 테이블 간 동일한 행을 의미한다. 만약 중복된 행이라도 출력해야 한다면 UNION ALL 을 사용 하면 된다.

5. 다른 사항이 더 있는가?

  • UNION 과 WHERE 절에 여러 조건을 엮는 것은 서로 비슷하다. 그렇지만 UNION ALL 을 사용하면 다르다.
  • UNION 으로 결합 시킨 쿼리에 대해서 정렬 하고 싶다면, 제일 마지막 쿼리에 ORDER BY를 붙이면 된다.

관련 링크

  1. http://sql.1keydata.com/kr/sql-union-all.php
  2. http://www.w3schools.com/sql/sql_union.asp

Digression

별거 없음. 단지 UNION 이란 것이 있고, UNION ALL 이 존재 한다는 것을 알았을 뿐

 

 

출처 : http://ikpil.com/1104

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
21 MySQL Dump / Import (덤프 / 임포트) JAESOO 2016.10.10 55
20 빅데이터 시대, DB·데이터 암호화 솔루션 길라잡이 JAESOO 2015.04.28 354
19 mariadb 원격 접속 허용 JAESOO 2014.04.29 2929
18 Database(데이터베이스) 관련 Naming Rule(이름설정 규칙) [SQL] JaeSoo 2013.12.03 5615
17 iBATIS(아이바티스) 시작 JaeSoo 2013.09.22 4256
16 iBatis(아이바티스)란? JaeSoo 2013.09.22 5163
15 innodb 와 myisam 의 차이점과 성능비교 JaeSoo 2013.04.11 4383
14 DB 모델링 툴 검토 JaeSoo 2013.03.21 3653
13 데이터베이스 모델링 툴의 새로운 대안 eXERD JaeSoo 2013.03.21 3967
12 무료 DB모델링툴(Freeware) 검토결과 1 JaeSoo 2013.03.21 4584
11 ERD 그리는 프로그램 JaeSoo 2013.03.21 3557
10 [ERD 툴] DB Modelling 툴 종류 및 비교 JaeSoo 2013.03.21 4111
9 innodb를 myisam으로 변환 가능한가요? JaeSoo 2012.07.28 4205
8 InnoDB vs MyISAM JaeSoo 2012.07.28 2708
7 테이블 스페이스(TABLE SPACE)란? JaeSoo 2012.07.20 3713
6 SAM,DAM,VSAM,ISAM,SMS JaeSoo 2012.07.12 4411
5 고급 조인 만들기 : SELF JOIN, NATURAL JOIN, OUTER JOIN JaeSoo 2012.05.08 7125
» 쿼리의 결합 : UNION 으로 쿼리 결합하기 JaeSoo 2012.05.08 3615
3 ERD 를 엑셀 EXCEL 로 변환 JaeSoo 2012.04.23 5135
2 관계형 데이터 모델(Relational Data Model) 의 설계 JaeSoo 2012.02.17 5847
Board Pagination Prev 1 2 Next
/ 2

PageViews   Today : 293   Yesterday : 1,582   Total : 19,451,720  /  Counter Status   Today : 94   Yesterday : 569   Total : 1,314,748
Site Info   Member : 69  /  Total documents : 1,221   New documents : 0  /  Total comments : 21

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소