SQLite Join
SQLite 의 Join 자 구 는 두 개 이상 의 데이터베이스 에 표 시 된 기록 을 결합 하 는 데 사 용 됩 니 다.조인 은 두 표 의 필드 를 공통 값 으로 결합 하 는 수단 이다.
SQL 은 세 가지 주요 유형의 연결 을 정의 합 니 다.
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
다른 시 계 는 DEPARTMENT 입 니 다. 정 의 는 다음 과 같 습 니 다.
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
다음은 DEPARTMENT 표를 채 우 는 INSERT 문장 입 니 다.
INSERT INTO DEPARTMENT (ID, DEPT, EMP_ID)
VALUES (1, 'IT Billing', 1 );
INSERT INTO DEPARTMENT (ID, DEPT, EMP_ID)
VALUES (2, 'Engineering', 2 );
INSERT INTO DEPARTMENT (ID, DEPT, EMP_ID)
VALUES (3, 'Finance', 7 );
마지막 으로, 우 리 는 DEPARTMENT 표 에 다음 과 같은 기록 목록 이 있 습 니 다.
ID DEPT EMP_ID
---------- ---------- ----------
1 IT Billing 1
2 Engineerin 2
3 Finance 7
교차 연결 - 크로스 조인
교차 연결 (CROSS JOIN) 은 첫 번 째 표 의 줄 마다 두 번 째 표 의 줄 마다 일치 합 니 다.만약 두 입력 표 가 각각 x 와 y 줄 이 있다 면 결과 표 는 x * y 줄 이 있다.교차 연결 (CROSS JOIN) 은 매우 큰 시 계 를 만 들 수 있 기 때문에 사용 할 때 신중 하고 적당 한 시기 에 만 사용 해 야 한다.
교차 연결 작업 은 연 결 된 두 표 의 모든 데이터 줄 의 피리 칼 적 을 되 돌려 줍 니 다. 되 돌아 오 는 데이터 줄 수 는 첫 번 째 표 에서 조회 조건 에 부합 되 는 데이터 줄 수 를 두 번 째 표 에서 조회 조건 에 부합 되 는 데이터 줄 수 를 곱 합 니 다.
다음은 교차 연결 (CROSS JOIN) 의 문법 입 니 다.
SELECT ... FROM table1 CROSS JOIN table2 ...
위의 표를 바탕 으로 우 리 는 교차 연결 (CROSS JOIN) 을 쓸 수 있 습 니 다. 다음 과 같 습 니 다.
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY CROSS JOIN DEPARTMENT;
위의 조 회 는 다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
EMP_ID NAME DEPT
---------- ---------- ----------
1 Paul IT Billing
2 Paul Engineerin
7 Paul Finance
1 Allen IT Billing
2 Allen Engineerin
7 Allen Finance
1 Teddy IT Billing
2 Teddy Engineerin
7 Teddy Finance
1 Mark IT Billing
2 Mark Engineerin
7 Mark Finance
1 David IT Billing
2 David Engineerin
7 David Finance
1 Kim IT Billing
2 Kim Engineerin
7 Kim Finance
1 James IT Billing
2 James Engineerin
7 James Finance
내부 연결. - INNER JOIN.
내부 연결 (INNER JOIN) 은 연결 술어 에 따라 두 표 (table 1 과 table 2) 의 열 값 을 결합 하여 새로운 결과 표를 만 듭 니 다.조 회 는 table 1 의 모든 줄 을 table 2 의 모든 줄 과 비교 하여 연결 서술 어 를 만족 시 키 는 모든 줄 의 일치 쌍 을 찾 습 니 다.연결 서술 어 를 만족 시 킬 때 A 와 B 줄 의 모든 짝 짓 기 열 값 은 하나의 결과 줄 로 합 쳐 집 니 다.
내부 연결 (INNER JOIN) 은 가장 흔 한 연결 유형 으로 기본 연결 유형 입 니 다.INNER 키 워드 는 선택 할 수 있 습 니 다.
다음은 내부 연결 (INNER JOIN) 의 문법 입 니 다.
SELECT ... FROM table1 [INNER] JOIN table2 ON conditional_expression ...
번 거 로 움 을 피하 고 짧 은 표현 을 유지 하기 위해 서 는 USING 표현 식 성명 내 연결 (INNER JOIN) 조건 을 사용 할 수 있 습 니 다.이 표현 식 은 하나 이상 의 열 목록 을 지정 합 니 다:
SELECT ... FROM table1 JOIN table2 USING ( column1 ,... ) ...
자연 연결 (NATURAL JOIN) 은 JOIN... USING 과 유사 합 니 다. 다만 두 표 에 존재 하 는 각 열의 값 간 의 일치 치 를 자동 으로 테스트 합 니 다.
SELECT ... FROM table1 NATURAL JOIN table2...
위의 표를 바탕 으로 우 리 는 내부 연결 (INNER JOIN) 을 쓸 수 있 습 니 다. 다음 과 같 습 니 다.
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID;
위의 조 회 는 다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
EMP_ID NAME DEPT
---------- ---------- ----------
1 Paul IT Billing
2 Allen Engineerin
7 James Finance
외부 접속 - OUTER JOIN
외부 연결 (OUTER JOIN) 은 내부 연결 (INNER JOIN) 의 확장 입 니 다.SQL 표준 은 세 가지 유형의 외부 연결: LEFT, Right, FULL 을 정의 하지만 SQLite 는 왼쪽 외부 연결 (LEFT OUTER JOIN) 만 지원 합 니 다.
외부 연결 (OUTER JOIN) 이 조건 을 설명 하 는 방법 은 내부 연결 (INNER JOIN) 과 같 으 며, ON, USING 또는 NATURAL 키 워드 를 사용 하여 표현 합 니 다.최초의 결과 표 는 같은 방식 으로 계산 된다.주 연결 계산 이 완료 되면 외부 연결 (OUTER JOIN) 은 하나 또는 두 개의 표 에 연결 되 지 않 은 줄 에서 합 쳐 지고 외부 연결 열 은 NULL 값 을 사용 하여 결과 표 에 추가 합 니 다.
다음은 왼쪽 외부 연결 (LEFT OUTER JOIN) 의 문법 입 니 다.
SELECT ... FROM table1 LEFT OUTER JOIN table2 ON conditional_expression ...
번 거 로 움 을 피하 고 짧 은 표현 을 유지 하기 위해 서 는 USING 표현 식 으로 외부 연결 (OUTER JOIN) 조건 을 사용 할 수 있 습 니 다.이 표현 식 은 하나 이상 의 열 목록 을 지정 합 니 다:
SELECT ... FROM table1 LEFT OUTER JOIN table2 USING ( column1 ,... ) ...
위의 표를 바탕 으로 우 리 는 외부 연결 (OUTER JOIN) 을 쓸 수 있 습 니 다. 다음 과 같 습 니 다.
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID;
위의 조 회 는 다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
EMP_ID NAME DEPT
---------- ---------- ----------
1 Paul IT Billing
2 Allen Engineerin
Teddy
Mark
David
Kim
7 James Finance
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.