SQL에서 자체 조인을 사용하는 방법?
자체 조인은 일반적으로 동일한 테이블 내에서 계층 적, 순차적 또는 비교 분석을 위해 테이블 자체와 결합하는 데 사용됩니다. 1. 직원 및 관리자와 같은 계층 적 데이터를 다룰 때 자체 조인을 사용하십시오. 2. 같은 부서에서 직원을 찾는 것과 같은 동일한 테이블의 행을 비교하기 위해 적용하십시오. 3. 테이블 별명을 활용하여 테이블을 두 개의 개별 엔티티로 취급합니다. 4. 적절한 조인 유형을 사용하십시오 - 레프트 조인은 타의 추종을 불허하는 행을 포함하고 일치하는 쌍에 대한 내부 조인. 5. e1.emp_id SQL의 자체 조인은 테이블 자체와 결합하려고 할 때 사용됩니다. 이는 계층 적 데이터 (직원 및 관리자와 같은), 순차적 데이터 (로그 또는 시계열과 같은) 또는 유사한 레코드 간의 관계 찾기와 같은 동일한 테이블 내에서 행을 비교하는 데 특히 유용합니다. 일반적으로 다음과 같은 경우 자체 조인을 사용합니다. 테이블은 문자 그대로 자체적으로 결합 할 수 없으므로 테이블 별칭을 사용하여 쿼리의 두 개의 개별 엔티티와 동일한 테이블을 처리합니다. 여기서 관리자 이름과 함께 직원 목록을 얻으려면 : 결과: 같은 부서에서 일하는 직원 쌍을 찾으려면 (같은 사람이 아님) : 결과: 기본적으로 자체 조인을 사용하면 하나의 테이블을 두 개의 별도의 데이터보기로 생각할 수 있습니다. 별명을 사용하고 올바른 열과 일치하는 일이 끝나면 단일 테이블 내에서 관계를 분석하는 강력한 도구가됩니다. 자체 조인을 사용하는시기
구문 및 예제
employees
테이블이 있다고 가정 해 봅시다. 직원
-------- --------- -----------------------
| emp_id | 이름 | manager_id | 부서 |
-------- --------- -----------------------
| 1 | 앨리스 | 널 | 엔지니어링 |
| 2 | 밥 | 1 | 엔지니어링 |
| 3 | 찰리 | 1 | 판매 |
| 4 | 다이아나 | 2 | 엔지니어링 |
-------- --------- -----------------------
manager_id
다른 직원의 emp_id
를 말합니다. 선택하다
E.Name as Employee_name,
M.Name as Manager_Name입니다
에서
직원 e
e.manager_id = m.emp_id의 왼쪽 가입 직원 M;
설명:
e
직원의 별칭입니다.m
관리자의 별칭입니다 (동일한 표).manager_id
Manager Row의 emp_id
와 일치하는 곳에서 employees
과 함께합니다.LEFT JOIN
사용하면 관리자가없는 직원 (Alice)이 여전히 NULL
관리자로 표시되도록합니다. -----------------------------
| Employee_name | manager_name |
-----------------------------
| 앨리스 | 널 |
| 밥 | 앨리스 |
| 찰리 | 앨리스 |
| 다이아나 | 밥 |
-----------------------------
또 다른 예 : 같은 부서에서 직원 찾기
선택하다
E1. 이름으로 직원 1,
e2.name as Employee2,
e1. 부서
에서
직원 E1
내부 가입 직원 E2
e1.department = e2.department
및 e1.emp_id <e2.emp_id;
참고 :
e1
과 e2
는 동일한 테이블의 두 인스턴스입니다.e1.emp_id < e2.emp_id
중복 쌍 (예 : Bob-Charlie 및 Charlie-Bob) 및 자체 페어링을 피합니다. ----------- --------------------
| Employee1 | Employee2 | 부서 |
----------- --------------------
| 밥 | 다이아나 | 엔지니어링 |
| 앨리스 | 밥 | 엔지니어링 |
| 앨리스 | 다이아나 | 엔지니어링 |
----------- --------------------
기억해야 할 핵심 요점
e
, m
)을 사용하여 테이블의 두 인스턴스를 구별하십시오.
INNER JOIN
.LEFT JOIN
.e1.id )을 추가하여 <strong>무한 또는 중복 결과를</strong> 피하십시오.
위 내용은 SQL에서 자체 조인을 사용하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

thefirstdayoftheyearisobtingbirettructingortructingortructingortructingortructingortructingortructating andthelastdaysdecember31Stofthesameyear, withmethodsvaryingbydatabasesystem;

SQL 실행 컨텍스트는 SQL 문을 실행할 때 신원 또는 역할을 말하며, 이는 어떤 리소스 및 작업 권한에 액세스 할 수 있는지 결정합니다. 권한 설정은 최소 권한의 원칙을 따라야하며 공통 권한에는 선택, 삽입, 실행 등이 포함됩니다. 권한 문제를 해결하려면 로그인 이름, 역할 권한, 집행 인 설정 및 스키마 허가를 확인해야합니다. 컨텍스트 전환 수행은 집행 인을 통해 구현 될 수 있지만 사용자 존재, 허가 부여 및 성능 보안 영향에주의를 기울여야합니다. DB__OWNER 또는 SYSADMIN 역할을 임의로 할당하지 않는 것이 좋습니다. 신청 계정은 필요한 오브젝트에만 액세스하고 스키마를 통해 승인되어야합니다.

Aself-joinisusedtocomparerowswithinthesaMetable, SuleSinhierarchicalDatalikeEemployEre-ManagerRelations, ByTreatingTableStabestwoseparateSusingAsingaliases, asdemployEeesalongSideIdeIrmanagers'NamestoptoptopteoTointointointointointointointointointointointointointointointoine

THEALTERTABLESTEMENTISUSSISSESSEDTOMODIFYANESISTINGTABLE 'SSTRUCTURES와 OUTRECREATINT; 1. ADDANEWCOLUMNUSINGADDCOLUMN; 2. DROPACOLUMN withdropcolumn, whithalsodeletesitsdata; 3. renameacolumnusingrenamecolumn, withyntaxconsistentinmysql, sqlserver, andpostgresql; 4

보기를 만들기위한 구문은 createViewView_NameAsselect 문입니다. 2. 뷰는 실제 데이터를 저장하지 않지만 기본 테이블의 실시간 쿼리 결과를 기반으로합니다. 3. kreateorreplaceview를 사용하여보기를 수정할 수 있습니다. 4. 뷰는 DropView를 통해 삭제 될 수 있습니다. 5. 뷰는 복잡한 쿼리를 단순화하고, 데이터 액세스 제어를 제공하며, 인터페이스 일관성을 유지하는 데 적합하지만 성능과 논리에주의를 기울여야하며 마지막으로 완전한 문장으로 끝납니다.

afullouterjoinreturnsallrowsfrombothtables, withnullswherenomatchexists; 1) itcombinesmatchingrecordsandincludeMatchedrowsfrombothleftandrighttables; 2) itisusefulfordatareconciliation, mergereports, and eflicingmistitations;

TransportAmodelsBeyEddingOrencingBasedOnAccessPatternsinsteAdofusingJoins; 2. HandleTransactionScyforingAtomicOperationsandEventualConsistency, reseertingmulti-documentTransactionsorcriticalcase;
