[SQL] SQL에서 여러 테이블을 조인
SQLSQL에서 여러 테이블을 조인
누군가가 나에 대한 조인 설명 할 수 있습니까?
내부 어디 조건에 기초하여 선택에게 공통 데이터를 조인.
왼쪽 외부는 선택을 일반에 관계없이 왼쪽에서 모든 데이터를 결합하지만 마우스 오른쪽 버튼으로 외부에 대한 반대 권리 테이블과 그에서 공통의 데이터를합니다.
이 5, 8, 10 개 테이블에 가입 할 때 나는 기초하지만 질문의 숙박을 알고있다.
내가 가입 10 개 테이블이 있다고 가정하자. 나는 내부는 지금 처음 5 개 테이블에 가입하고있는 경우 왼쪽 쿼리가 어떻게 작동하는지 지금, 6 테이블과 조인 적용하려고?
내가 먼저 5 개 테이블의 현재 결과 집합이 왼쪽 테이블로 이동합니다 및 6 일 오른쪽 테이블로 considerded됩니다 말을 의미합니까? 권리로 왼쪽, 6 또는에서만 다섯 번째 테이블은 고려 될 것이다? 이에 관한 제발 도와주세요.
해결법
-
==============================
1.각각의 출력이 가입 여러 테이블을 조인 할 때 논리적으로 다음 조인에 들어가는 가상 테이블을 형성한다.
각각의 출력이 가입 여러 테이블을 조인 할 때 논리적으로 다음 조인에 들어가는 가상 테이블을 형성한다.
그래서 질문의 예에서 첫 번째 5 개 테이블을 조인의 복합 결과는 왼쪽 테이블로 취급 될 것이다.
이것에 대해 더 많은 것을 위해 Itzik 벤 웨이 코 뮤니시의 논리 질의 처리 포스터를 참조하십시오.
에 관련된 가상 테이블은 ON 절을 배치하여 제어 할 수 있습니다 조인. 예를 들면
SELECT * FROM T1 INNER JOIN T2 ON T2.C = T1.C INNER JOIN T3 LEFT JOIN T4 ON T4.C = T3.C ON T3.C = T2.C
내부 조인 (T1 내부는 T2 가입)에 해당합니다 (T3 왼쪽 T4 가입)
-
==============================
2.전자는 올 그래서, 순서에의 가입을 생각하는 것이 도움이됩니다.
전자는 올 그래서, 순서에의 가입을 생각하는 것이 도움이됩니다.
SELECT * FROM a INNER JOIN b ON b.a = a.id INNER JOIN c ON c.b = b.id LEFT JOIN d ON d.c = c.id LEFT JOIN e ON e.d = d.id
모두 ON 모든 조건이 일치 A와 B와 C의 필드 플러스의 기준과 일치하는 D의 값 더하기 모든 조건이 일치하는 전자의 모든 내용을 할 것이다.
나는 오른쪽을 알고 완벽하게 수용 가입,하지만 난 그게 필요하다고 내 경험에서 발견 한 - 나는 거의 언제나 왼쪽에서 오른쪽으로 일을 가입 할 수 있습니다.
-
==============================
3.> 간단한 INNER보기 코드를 가입 ...
> 간단한 INNER보기 코드를 가입 ...
CREATE VIEW room_view AS SELECT a.*,b.* FROM j4_booking a INNER JOIN j4_scheduling b on a.room_id = b.room_id;
-
==============================
4.이 같은 가입 적용 할 수 있습니다 ..
이 같은 가입 적용 할 수 있습니다 ..
select a.*,b.*,c.*,d.*,e.* from [DatabaseName].[Table_a] a INNER JOIN [DatabaseName].[Table_b] b ON a.id = b.id INNER JOIN [DatabaseName].[Table_c] c ON b.id=c.id INNER JOIN [DatabaseName].[Table_d] d on c.id=d.id INNER JOIN [DatabaseName].[Table_e] e on d.id=e.id where a.con=5 and b.con=6
여기서, a 대신. *에서 어디 상태에서, 당신은 어디 상태에서 당신이 좋아하는 열 (출원) 및 따라 상태를 표시 할 수 있습니다. 당신은 당신의 선택에 따라 더 테이블과 데이터베이스를 삽입 할 수 있습니다. 당신이 다른 데이터베이스에서 작동하지만 마음 당신은 언급 데이터베이스 이름 및 별명에 필요.
from https://stackoverflow.com/questions/15987321/joining-multiple-tables-in-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 경고 : NULL 값은 아쿠아 데이터 스튜디오에서 집계 또는 다른 SET 연산에 의해 제거 (0) | 2020.06.05 |
---|---|
[SQL] TSQL가 - A는 ... END 블록을 BEGIN의 방법 GO의 내부를 사용 하는가? (0) | 2020.06.05 |
[SQL] 빌 &는 SQL 주입 - UTF8 POC (0) | 2020.06.04 |
[SQL] 왜 SQL 서버 스칼라 반환 함수는 느린받을 수 있나요? (0) | 2020.06.04 |
[SQL] JPA 기본 쿼리를 선택하고 캐스트 객체 (0) | 2020.06.04 |