ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQLite 9. UNION
    SQL/Sqlite 2022. 1. 1. 12:20
    반응형

    SELECT와 SELECT사이에 UNION만 넣으면 끝...

    OR을 

    SELECT * 
    FROM players
    WHERE height > 80 OR age > 40

    이렇게 바꿔 쓸 수도 있다. 

    SELECT * 
    FROM players
    WHERE height > 80
    UNION 
    SELECT * 
    FROM players
    WHERE age > 40

    20행이 반환되었다. 

     

    UNION ALL을 쓰면 중복행도 반환된다. 

    SELECT * 
    FROM players
    WHERE height > 80
    UNION ALL
    SELECT * 
    FROM players
    WHERE age > 40

    21행 반환.. 

     

    컬럼의 개수가 다르면 합쳐지지 않는다. 

    에러가 발생하여 실행 중단됨.
    결과: SELECTs to the left and right of UNION do not have the same number of result columns
    1번째 줄:
    SELECT * 
    FROM players
    WHERE height > 80
    UNION 
    SELECT * 
    FROM weights
    WHERE weight > 250

    이건 가능.
    컬럼의 개수가 같고,
    형변환이 가능해야 UNION이 가능한데,
    SQLite는 타입이 아주 약한 DB니까 가능.

    SELECT id, name 
    FROM players
    WHERE height > 80
    UNION 
    SELECT id, weight
    FROM weights
    WHERE weight > 250

    반응형
Designed by Tistory.