반응형
목차
MySQL SELF 조인이란
MySQL을 공부하며 제일 헷갈리는게 조인인데 (left join, right join, inner join 등등등) SELF JOIN이라는 놈도 있다ㅋㅋ SELF JOIN이란 무엇인가 . . 쉽게 말하면 자기 자신을 조인하는 놈이다. 여기서 생기는 의문
자기 자신을 조인이요?
다음 표를 이용해서 self join의 예를 들어보겟슴
MySQL SELF 조인 예시
TABLE A
ID | 이름 | 연봉 | 관리해야되는 놈 ID |
1 | 김셀프 | 5000 | 3 |
2 | 김조인 | 4000 | 4 |
3 | 김이너 | 3000 | NULL |
4 | 김롸잇 | 5000 | NULL |
여기서 ID 1은 ID3을, ID2는 ID4를 관리하고 있다. 이 때 관리하는 놈보다 관리 당하는 놈이 돈을 더 잘 버는 경우를 구하려면 워떻게 해야될까 . ? 이럴 땐 테이블을 새롭게 만들어서 '관리 해야되는 놈' 중심으로 조인을 해야된다. 왜냐 고것이 비교하는 a,b를 정하는 기준이 되기 때문
SELECT * FROM A
INNER JOIN A AS Manager ON A. 관리해야되는 놈 ID = Manager.id
이렇게 하면 왼쪽은 관리 당하는 놈 오른쪽 테이블 관리하는 매니저가 된다. 그러니까
ID | 이름 | 연봉 | 관리해야되는 놈 ID | ID | 이름 | 연봉 | 관리해야되는 놈 ID |
1 | 김셀프 | 5000 | 3 | 3 | 김이너 | 3000 | null |
2 | 김조인 | 4000 | 4 | 4 | 김롸인 | 5000 | null |
이렇게 된다. 쟤네 둘이 INNER JOIN A AS Manager ON A. 관리해야되는 놈 ID = Manager.id 이 선언을 함으로써 만난것이다. 이제 문제에서 요구한 것 처럼 관리하는 놈이 관리자보다 많이버는 경우를 구하려면?
SELECT에 * 대신 NAME 집어넣고
INNER JOIN A AS Manager ON A. 관리해야되는 놈 ID = Manager.id하고
WHERE A.연봉 > MANAGER.연봉
하면 되것죠?
'IT, Computer' 카테고리의 다른 글
티스토리 블로그 애드센스 수익 여정 포스팅 (3) ads.txt 문제를 해결 해보자 (0) | 2024.06.02 |
---|---|
티스토리 블로그 애드센스 수익 여정 포스팅 (2) 애드센스 일부 내용을 수정해야 합니다 (1) | 2024.05.30 |
[MySQL] SQL SELF JOIN & DATE type format (0) | 2024.05.28 |
[MySQL] 소수점 처리 하는 방법 (0) | 2024.05.26 |
티스토리 블로그 애드센스 수익 여정 포스팅 (1) (7) | 2024.05.20 |