호테의 노트에 오신 것을 환영합니다 🙌

Tableau와 Salesforce, Python과 SQL 등 데이터의 전반적인 것들을 다루는 기술 블로그입니다.

SQL

MYSQL - 다른 열 사용하여 UNION 하기

Hote's Note 2024. 10. 4. 14:46

다음 예에서 두 쿼리는 두 가지 다른 테이블과 다른 열을 사용하여 설정되었습니다. 두 테이블의 다른 열은 'life'와 'pur_qty'입니다.

우리는 이 테스트를 통해 두 열의 데이터 유형이 동일하면 반환된 열 이름은 첫 번째 쿼리에서 가져오고 데이터가 정상적으로 유니온 됨을 확인할 수 있습니다.

 

SQL 예시 코드:

SELECT prod_code, prod_name, life
FROM product
WHERE life > 6

UNION

SELECT prod_code, prod_name, pur_qty
FROM purchase
WHERE pur_qty < 20;
 
  • 이 SQL 쿼리는 product 테이블에서 prod_code, prod_name, life를 검색하고, purchase 테이블에서 prod_code, prod_name, pur_qty를 검색합니다.
  • 첫 번째 SELECT 문은 product 테이블에서 prod_code, prod_name 및 life를 선택하여 life가 6보다 크다는 조건에 따라 행을 필터링합니다.
  • 두 번째 SELECT 문은 구매 테이블에서 prod_code, prod_name 및 pur_qty를 선택하여 pur_qty가 20보다 작다는 조건에 따라 행을 필터링합니다.
  • UNION 연산자는 두 SELECT 문의 결과를 결합하고 중복된 행을 제거합니다.
  • 이 쿼리는 지정된 조건이 충족되는 product 및 purchase 테이블에서 prod_code, prod_name, life 또는 pur_qty의 모든 고유한 조합을 포함하는 결과 집합을 반환합니다.

산출 예시 :

PROD_CODE PROD_NAME LIFE
---------- --------------- ----------
PR001 TV 7
PR001 TV 15
PR002 DVD 플레이어 9
PR002 DVD 플레이어 10
PR003 아이팟 9
PR004 사운드 시스템 8
PR006 사운드 시스템 8
PR007 노트북 6

 

결론 : 두 열의 데이터 유형이 동일하면 반환된 열 이름은 첫 번째 쿼리에서 가져오고 데이터가 정상적으로 합쳐진다.