SQLite Unions 어휘
SQLite의 UNION 절/연산자는 중복된 행을 반환하지 않고 둘 이상의 SELECT 문의 결과를 결합하는 데 사용됩니다.
UNION을 사용하려면 각 SELECT에서 선택한 열의 개수, 열 표현식의 개수, 데이터 형식이 동일해야 하며 순서도 동일해야 하지만 그렇지 않습니다. 길이가 같아야 합니다.
구문
UNION 기본 구문은 다음과 같습니다.
SELECT 컬럼1 [, 컬럼2 ]
FROM table1 [, table2 ]
[WHERE 조건]
UNION
SELECT 열 1 [, 열 2 ]
FROM table1 [, table2 ]
[WHERE 조건]
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
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 절 테이블을 사용하여 두 개를 연결해 보겠습니다.
------ ----------- ----------
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;
구문
ON COMPANY.ID = DEPARTMENT.EMP_ID;
이렇게 하면 다음과 같은 결과가 나옵니다.
EMP_ID > 3 테디 엔지니어
4 마크 파이낸스
5 데이빗 엔지니어
6 킴 파이낸스
7
UNION ALL 연산자를 사용합니다. 중복 행을 포함하여 두 SELECT 문의 결과를 결합합니다.
UNION에 적용되는 동일한 규칙이 UNION ALL 연산자에도 적용됩니다.
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 절을 사용하여 다음과 같이 두 테이블을 조인해 보겠습니다.
[WHERE 조건]
여기서 주어진 조건은 필요에 따라 어떤 표현이든 가능합니다.
예
이제 SELECT 문과 UNION ALL 절을 사용하여 다음과 같이 두 테이블을 조인해 보겠습니다.
sqlite> DEPT FROM COMPANY INNER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_IDUNION ALL
SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENTON 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 제임스 재무
------------ ---------------- ---- ----------
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 제임스 재무