SQL/Sqlite
SQLite 9. UNION
컴닥
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
반응형