SQLite 클래식 튜토리얼login
SQLite 클래식 튜토리얼
작가:php.cn  업데이트 시간:2022-04-13 17:05:02

SQLite Unions 어휘


SQLite의 UNION 절/연산자는 중복된 행을 반환하지 않고 둘 이상의 SELECT 문의 결과를 결합하는 데 사용됩니다.

UNION을 사용하려면 각 SELECT에서 선택한 열의 개수, 열 표현식의 개수, 데이터 형식이 동일해야 하며 순서도 동일해야 하지만 그렇지 않습니다. 길이가 같아야 합니다.

구문

UNION 기본 구문은 다음과 같습니다.

SELECT 컬럼1 [, 컬럼2 ]
FROM table1 [, table2 ]
[WHERE 조건]

UNION

SELECT 열 1 [, 열 2 ]
FROM table1 [, table2 ]
[WHERE 조건]

여기에 주어진 조건은 필요에 따라 어떤 표현이든 가능합니다.

다음 두 테이블이 있다고 가정합니다. (1) COMPANY 테이블은 다음과 같습니다.

sqlite> select * from COMPANY;
ID 이름 나이 >                                                   ------  ----------
1           폴                 32          캘리포니아  20000 .0
2           앨런                 25          텍사스       1 5000.0
3           테디               23          노르웨이      20000.0
4           마크                 25          부자 -Mond   65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0

(2) 다른 테이블은 아래와 같이 DEPARTMENT입니다.

ID     DEPT     EMP_ID
------ ----------- ----------
1          IT 결제                                              엔지니어링 3
5 재무 4
6 엔지니어링 5
7 재무 6


이제 아래와 같이 SELECT 문과 UNION 절 테이블을 사용하여 두 개를 연결해 보겠습니다.

sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT

ON COMPANY.ID = DEPARTMENT.EMP_ID
UNION
SELECT EMP_ID, NAME, DEPT F ROM 회사 왼쪽 OUTER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID;

이렇게 하면 다음과 같은 결과가 나옵니다.

EMP_ID                                                                         > 3 테디 엔지니어
4 마크 파이낸스
5 데이빗 엔지니어
6 킴 파이낸스
7

UNION ALL 연산자를 사용합니다. 중복 행을 포함하여 두 SELECT 문의 결과를 결합합니다.

UNION에 적용되는 동일한 규칙이 UNION ALL 연산자에도 적용됩니다.
구문

UNION ALL

기본 구문은 다음과 같습니다.

SELECT 컬럼1 [, 컬럼2 ]

FROM table1 [, table2 ]

[WHERE 조건]UNION ALL

SELECT 열1 [, 열2 ]
FROM table1 [, table2 ]
[WHERE 조건]


여기서 주어진 조건은 필요에 따라 어떤 표현이든 가능합니다.



이제 SELECT 문과 UNION ALL 절을 사용하여 다음과 같이 두 테이블을 조인해 보겠습니다.

sqlite> DEPT FROM COMPANY INNER JOIN DEPARTMENT

ON COMPANY.ID = DEPARTMENT.EMP_ID

UNION ALL

SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT

ON COMPANY.ID = DEPARTMENT.EMP_ID; 🎜>

这将产生以下结果:

EMP_ID      이름                부서
------------  ---------------- ----  ----------
1           Paul                  IT 결제
2           Allen                Engineerin
3           Teddy                 엔지니어링
4          마크                 재무
5           David                엔지니어
6           김 재무
7           James                재무
1           Paul                IT 결제
2           Allen                엔진 erin
3           Teddy                 Engineerin
4          Mark                재무
5           David                엔진 erin
6           김                  재무
7           제임스                재무