728x90
대표적으로 2가지 JOIN 에 대해서만 다루자
INNER JOIN
NULL 을 허용하지 않을 때의 JOIN
LEFT OUTTER JOIN
NULL 이 있어도 상관 없음 ~
오늘 다룰 주제는 JOIN 할 때 KEY 의 관계이다
조인을 사용하여 두 개의 테이블을 엮어 원하는 데이터를 추출할 수 있다.
이때, 두 테이블에서 키의 관계는 기본키(PK)와 외래키(FK) 관계로 맺어져야하고 이를 일대다 관계라 한다.
[ 예시 ]
지점의 매출을 조회하는 쿼리를 작성하던 중
이런 결과를 얻게됐는데 정답보다 어마무시하게 큰 숫자가 나와버렸다.
JOIN 을 걸 때, 같은 컬럼명이 있다면 냅다 다 연결해버렸는데 나중에 뜯어보니 관계가 이랬다.
PF ↔ PF
PF ↔ P
P ↔ F
정확하게 말할순없지만 PF도 외래키라 외래키 끼리 관계를 걸면 안됐던 것 같다.
정상적인 결과를 얻기위해선 테이블에서 기본키와 외래키의 관계를 보며 조인을 걸어야 한다.
공부할때 키가 괜히 중요한게 아니었음
정말 정말 중요한 사실인데 JOIN 을 그냥 냅다 엮는 걸로만 생각했다.
정처기나 기타 공부할때도 JOIN 의 개념에 대해서만 공부하고 실제로 쿼리를 작성해본 경험이 없다보니 막상 테이블간 JOIN을 하는 기준이 뭔지 몰랐다.
이제 알았으니까 됐지 머 ~
728x90
'Oracle' 카테고리의 다른 글
SQL | SELECT 1 FROM ~ - SELECT 문에서 1을 조회하는 경우 (0) | 2023.08.09 |
---|---|
sqldeveloper | 데이터베이스 접속 오류 (0) | 2023.06.08 |
Oralce | COALESCE 함수 (0) | 2023.06.02 |
Oracle | SUBSTR() 문자열 자르는 함수 / 연결 연산자 || (1) | 2023.06.01 |
Oracle | 문자 -> 숫자 함수 TO_CHAR TO_NUMBER (0) | 2023.05.30 |