SQL/sql 문법(mysql, mariaDB)

UNION 코드로 알아보기

읽히는 블로그 2024. 5. 2. 16:12

▤ 목차

    구조가 일치하는 두 개 이상의 테이블 자료 합쳐볼 수 있다.

    원래 테이블은 그대로 유지된다.

     

    ✔ UNION

     

    💻 코드로 보기

    #sangpum1
    CREATE TABLE sangpum1(bun INT, pummok varchar(20) NOT NULL);
    INSERT INTO sangpum1 VALUES(1,'사과');
    INSERT INTO sangpum1 VALUES(2,'오랜지');
    INSERT INTO sangpum1 VALUES(3,'바나나');
    SELECT * FROM sangpum1;
    
    #sangpum2
    CREATE TABLE sangpum2(num INT, sangirum varchar(20) NOT NULL);
    INSERT INTO sangpum2 VALUES(10,'토마토');
    INSERT INTO sangpum2 VALUES(11,'참외');
    INSERT INTO sangpum2 VALUES(12,'딸기');
    INSERT INTO sangpum2 VALUES(13,'오이');
    SELECT * FROM sangpum2;

     

    SELECT bun AS 번호, pummok AS 상품명 FROM sangpum1
    UNION
    SELECT num , sangirum FROM sangpum2;

     

    👏  결과

    중복된 값을 제거하고 보여준다.

    중복된 값을 제거하는 연산이 추가로 수행되기 때문이다.

    즉, 연산이 추가되어 있기때문에 union all보다 속도가 느리다.

     

    `union all`  키워드가 있는데,

    여러 테이블을 찹쳐서 하나의 쿼리문으로 만들어주는 방법이다.

    중복된 값을 모두 보여준다.

     

     

    👻 JOIN과 차이점

    join은 두개의 테이블을 엮어 원하는 데이터를 추출하는 키워드이다.

    JOIN은 새로운 열로 결합한다. 수평 결합을 한다.

    UNION은 새로운 행으로 결합한다. 수직 결합을 한다.