메뉴 건너뛰기

조회 수 3920 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

Union을 사용할 때 주의할 점.

- 대응하는 필드의 이름이 같아야 한다. 같지 않다면 AS 를 사용하여 같게 만든다.
- 대응되는 각 필드의 타입이 같아야 한다.



* Member 테이블
 seq u_name u_email  etc 
 1 개똥이 aa@aa.co.kr ...
 2 소똥이 bb@bb.co.kr ...
 3 말똥이 cc@cc.co.kr ...

* Newsletter 테이블
letter_ seq letter_name letter_email  letter_etc 
 1 홍길동 aa@aa.co.kr ...
 2 홍당무 dd@d.co.kr ...
 3 노찌롱 ee@ee.co.kr ...

위의 2개 테이블에서 이메일을 추출해야 할 경우 union을 사용하면 간단하다.

이렇게 추출할 경우 중복되지 않은 유일한 정보 만을 추출하는 경우와 중복되더라도 모두 추출하는 경우가 있을 것이다.


Union 을 사용하는 경우 대응되는 각 필드의 이름을 같게 맞추어 쿼리를 한다.
( SELECT u_name, u_email FROM Member WHERE seq < 10 )
UNION
( SELECT letter_name AS u_name, letter_email AS u_email FROM Newsletter WHERE letter_seq < 10 )


이렇게 쿼리를 하면 이름(user_name)과 이메일(user_email)이 같은 경우 하나의 값 만 추출하여 distinct 함수와 같은 효과를 준다.


만약 중복되더라도 모든 정보를 추출해야 한다면 Union ALL 연산자를 이용하면 된다.
( SELECT u_name, u_email FROM Member WHERE seq < 10 )
UNION ALL
( SELECT letter_name AS u_name, letter_email AS u_email FROM Newsletter WHERE letter_seq < 10 )


UNION ALL 연산자를 이용하면 간단하게 처리가 가능하다.


UNION을 하면 결과가 테이블에 종속되는 것이 아니다. 그러므로 결과를 정렬을 해야 한다면 쿼리의 끝에 정렬을 추가하면 된다.
( SELECT u_name, u_email FROM Member WHERE seq < 10 )
UNION
( SELECT letter_name AS u_name, letter_email AS u_email FROM Newsletter WHERE letter_seq < 10 )
ORDER BY u_email

  1. No Image 26Mar
    by
    2021/03/26 Views 769 

    order by field 와 union, 원하는 대로 정렬 하기

  2. SQL 고급

  3. No Image 21Nov
    by 조쉬
    2017/11/21 Views 3920 

    Union 사용법. 여러 테이블의 같은 값을 한번 쿼리로 추출하기

  4. UPDATE ~ CASE 문을 사용한 조건별 업데이트

  5. No Image 25Nov
    by
    2020/11/25 Views 777 

    [mysql,mariaDB] 컬럼 암호화, 복호화

  6. No Image 12Apr
    by
    2017/04/12 Views 5392 

    [MySQL] 백업 및 복구

  7. No Image 05Mar
    by
    2019/03/05 Views 2097 

    [MySQL] 세로열을 가로열로 출력하기

  8. No Image 30Aug
    by
    2016/08/30 Views 5812 

    각각의 게시판에서 제일 최근글하나씩을 모아 정렬

  9. No Image 22Dec
    by
    2017/12/22 Views 3976 

    날짜 관련 함수 모음.

  10. No Image 23Dec
    by
    2016/12/23 Views 5996 

    날짜와 시간 데이터

  11. No Image 26Mar
    by
    2021/03/26 Views 147 

    날짜형(DATETIME) 빼기

  12. No Image 16Nov
    by
    2017/11/16 Views 5076 

    다른 테이블 데이터를 원하는 테이블에 업데이트 시키기

  13. No Image 19Dec
    by
    2015/12/19 Views 8360 

    다양한 단위의 시간차 구하기

  14. No Image 23Dec
    by
    2016/12/23 Views 5635 

    덤프할때 한글깨짐 해결

  15. No Image 23Dec
    by
    2016/12/23 Views 5534 

    데이타베이스 또는 테이블 정보

  16. No Image 28Dec
    by
    2017/12/28 Views 4262 

    데이터베이스 파티셔닝이란

  17. No Image 10Jan
    by
    2023/01/10 Views 116 

    데이터베이스별 / 테이블별 용량 확인 하기

  18. No Image 21Nov
    by
    2017/11/21 Views 5388 

    두 테이블을 비교하여 한쪽테이블에는 있지만 다른 테이블에는 없는 값을 뽑아내보자!

  19. No Image 23Dec
    by
    2016/12/23 Views 5646 

    문자형 데이터

  20. No Image 12Apr
    by
    2017/04/12 Views 5071 

    백업시 캐릭터셋(charset) 지정하기

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved