[SQL] SELF 무엇을 가입하고 당신이 그것을 할 때를 사용해야합니까? [복제]
SQLSELF 무엇을 가입하고 당신이 그것을 할 때를 사용해야합니까? [복제]
자기가 무엇을 가입하고 당신이 그것을 할 때를 사용해야합니까? 내가 예와 평신도 설명이 좋은 것, 그래서 자기 조인을 이해하지 않습니다.
해결법
-
==============================
1.당신은 그 자체로 할 때 테이블 참조 데이터를 결합 자체를 사용합니다.
당신은 그 자체로 할 때 테이블 참조 데이터를 결합 자체를 사용합니다.
예를 들어, 직원 테이블은 SupervisorID 열을 가질 수도 현재 직원의 상사 직원 가리.
데이터를 조회 한 행에 두 사람에 대한 정보를 얻으려면, 당신은 자기는 다음과 같이 가입 수 :
select e1.EmployeeID, e1.FirstName, e1.LastName, e1.SupervisorID, e2.FirstName as SupervisorFirstName, e2.LastName as SupervisorLastName from Employee e1 left outer join Employee e2 on e1.SupervisorID = e2.EmployeeID
-
==============================
2.당신이 직원과 그 직계 관리자의 목록을 싶었던 음, 하나의 전형적인 예이다 :
당신이 직원과 그 직계 관리자의 목록을 싶었던 음, 하나의 전형적인 예이다 :
select e.employee as employee, b.employee as boss from emptable e, emptable b where e.manager_id = b.empolyee_id order by 1
같은 테이블에 저장된 행 사이에 어떤 관계가있는 곳은 기본적으로 사용됩니다.
등등...
-
==============================
3.당신이 자체 테이블을 조인 할 때 자체 조인은 간단하다. 더 SELF 당신은 단지에 관련된 두 테이블이 같은 테이블 조인 경우 일반 가입 쓰기, 키워드가 JOIN 없습니다. 주의 사항 한 가지는 당신이 자기가 가입 할 때 그렇지 않으면 테이블 이름이 모호 할 것이다 테이블 별칭을 사용할 필요가 있다는 것입니다.
당신이 자체 테이블을 조인 할 때 자체 조인은 간단하다. 더 SELF 당신은 단지에 관련된 두 테이블이 같은 테이블 조인 경우 일반 가입 쓰기, 키워드가 JOIN 없습니다. 주의 사항 한 가지는 당신이 자기가 가입 할 때 그렇지 않으면 테이블 이름이 모호 할 것이다 테이블 별칭을 사용할 필요가 있다는 것입니다.
자식 관계 - 당신은 예를 들어, 같은 테이블에서 행의 상관 관계 쌍에 부모를 할 때 유용합니다. 다음 쿼리는 카테고리 '주방'의 모든 즉각적인 하위 범주의 이름을 반환합니다.
SELECT T2.name FROM category T1 JOIN category T2 ON T2.parent = T1.id WHERE T1.name = 'Kitchen'
-
==============================
4.SQL은 단순히 정상적인 자체에 테이블을 조인하는 데 사용되는 조인 자체 조인.
SQL은 단순히 정상적인 자체에 테이블을 조인하는 데 사용되는 조인 자체 조인.
예:
Select * FROM Table t1, Table t2 WHERE t1.Id = t2.ID
-
==============================
5.당신이 사용하는 것 자체에 "의미"하는 테이블 자체를 조인 - 예를 들어, 관리자 ID가 같은 테이블에 직원 ID에 대한 외래 키입니다 직원의 테이블.
당신이 사용하는 것 자체에 "의미"하는 테이블 자체를 조인 - 예를 들어, 관리자 ID가 같은 테이블에 직원 ID에 대한 외래 키입니다 직원의 테이블.
예:
SELECT E.name, ME.name AS manager FROM dbo.Employees E LEFT JOIN dbo.Employees ME ON ME.employeeid = E.managerid
from https://stackoverflow.com/questions/3362038/what-is-self-join-and-when-would-you-use-it by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 아포스트로피 (작은 따옴표)를 포함하는 값을 삽입하려면? (0) | 2020.03.21 |
---|---|
[SQL] 어떻게 SQL 서버 XML 열에서 값을 조회 할 수 있습니다 (0) | 2020.03.21 |
[SQL] 저장 프로 시저에서 "SET XACT_ABORT ON"을 사용의 이점은 무엇입니까? (0) | 2020.03.21 |
[SQL] 단지 null이 아닌 값을 선택 MYSQL (0) | 2020.03.21 |
[SQL] 항상 NVARCHAR (MAX)를 사용하는 불이익이 있습니까? (0) | 2020.03.21 |