RadarURL

데이터베이스
2012.05.09 00:56

쿼리의 결합 : UNION 으로 쿼리 결합하기

조회 수 4354 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 930309
2503 유닉스/리눅스 리눅스 서버 설치 중 에러 "Failed to find a suitable stage1 device" JaeSoo 2025.10.03 11
2502 유닉스/리눅스 Linux 11 . Linux 설치 시 lvm 수동설정 JaeSoo 2025.10.03 14
2501 유닉스/리눅스 [Rocky Linux] 누구나 쉽게 따라하는 Rocky Linux 9.0 OS 다운로드 및 설치 방법~!! JaeSoo 2025.10.03 13
2500 유닉스/리눅스 Linux/Rocky Linux Rocky Linux : Composer 설치 JaeSoo 2025.09.29 29
2499 유닉스/리눅스 [Rocky Linux] 록키 리눅스 최신 업데이트 적용 방법 JaeSoo 2025.09.29 26
2498 유닉스/리눅스 rocky linux 커널 업데이트 JaeSoo 2025.09.29 23
2497 웹서버,WAS [Windows] OWASP ZAP 사용법 JaeSoo 2025.09.29 31
2496 웹서버,WAS [웹 취약점] 웹서버 디렉토리 리스팅 방지 JaeSoo 2025.09.29 29
2495 유닉스/리눅스 Clonezilla(클론질라) 백업파일 하드디스크로 복구 방법 JaeSoo 2025.09.28 34
2494 유닉스/리눅스 클론질라 사용 방법 - OS 이미지 백업 CloneZilla JaeSoo 2025.09.28 33
2493 유닉스/리눅스 [Linux / Rocky] FTP 접속 관련 설정 실습 예제 JaeSoo 2025.09.23 47
2492 유닉스/리눅스 Could not reliably determine the server's fully qualified domain name JaeSoo 2025.09.23 43
2491 유닉스/리눅스 [아파치] 아파치 웹서버에 .htaccess 파일 설정하는 방법 JaeSoo 2025.09.23 50
2490 유닉스/리눅스 [Linux] Apache web server의 rewrite module 사용하기 [출처] [Linux] Apache web server의 rewrite module 사용하기|작성자 g00dmoney JaeSoo 2025.09.23 45
2489 유닉스/리눅스 록키 리눅스 9.1에서 apache, mysql, PHP 설치 JaeSoo 2025.09.23 47
2488 유닉스/리눅스 [권한문제] 라이믹스 Fatal error: Uncaught Rhymix\Framework\Exception: Cannot write template cache file JaeSoo 2025.09.23 37
2487 유닉스/리눅스 라이믹스 php 에러 표시 JaeSoo 2025.09.23 36
2486 유닉스/리눅스 Rocky Linux - 라이믹스(Rhymix) 설치하기 JaeSoo 2025.09.23 33
2485 유닉스/리눅스 라이믹스(Rhymix) 매뉴얼 JaeSoo 2025.09.23 25
2484 유닉스/리눅스 [ Apache ] 아파치 start/stop/restart 명령어 JaeSoo 2025.09.23 21
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 126 Next
/ 126


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너