[Certification]/[SQLD] Structured Query Language Develop

[SQLD] 3-9. SQL 기본 - 조인(JOIN), EQUI JOIN, JOIN 구문 주의 사항

starterr 2024. 9. 12. 10:46
반응형

 

A. 조인(JOIN)이란?

 

1. 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것
2. 관계형 데이터 베이스의 가장 큰 장점이며 대표적인 핵심 기능
3. 일반적인 경우 행들은 PK나 FK 값의 연관에 의해 조인이 성립
4. 쿼리 성능에 지대한 영향을 미치므로 튜닝 포인트가 될 수 있음
5. 조인에는 EQUI JOIN(등가 조인), NON EQUI JOIN(비 등가 조인) 존재

조인(JOIN)
조인(JOIN)

 

 

반응형

B. EQUI JOIN

 

1. 두 개의 테이블 간에 컬럼 값들이 서로 정확하게 일치하는 경우에 사용되는 방법
2. 일반적으로 PK와 FK의 관계를 기반
3. 일부 EQUI JOIN은 PK와 FK의 관계가 성립되지 않을 수 도 있음
4. JOIN의 조건은 WHERE 절에 기술하여 “=” 연산자를 사용

EQUI JOIN
EQUI JOIN

 

 

C. EQUI JOIN 사용 주의 사항

 

1. SELECT 구문에 “테이블명. 칼럼명” 처럼 테이블명과 칼럼명이 같이 기술
2. 옵티마이저가 파싱에 구별이 가능하도록 테이블명과 컬럼명을 같이 기술
3. 가독성, 유지보수성을 위해 테이블명과 컬럼명을 같이 기술
4. 데이터를 조회하기 위해 필요한 JOIN 조건은 대상 테이블의 개수에서 하나를 뺀 N-1 개 이상이 필요
5. JOIN 조건은 WHERE 절에 기술함
6. WHERE 절에 JOIN조건 이외의 검색조건에 대한 조건 추가 가능
7. 테이블에 대한 ALIAS 사용했을 경우 WHERE절과 SELECT절에는 ALIAS를 사용
8. 유일한 컬럼명이면 ALIAS 생략 가능

 

EQUI JOIN 사용 주의 사항
EQUI JOIN 사용 주의 사항

 

반응형

D. None EQUI JOIN

 

1. 두 테이블 간에 컬럼 값들이 서로 정확하게 일치하지 않는 경우에 사용
2. “=“ 연산자가 아닌 다른(Between, >, >=, <, <= 등) 연산자들을 사용

None EQUI JOIN
None EQUI JOIN

 

 

E. JOIN이 필요한 이유

 

1. 데이터의 정합성을 확보하고 이상현상(Anomaly) 발생을 피하기 위해 테이블을 분할하여 정규화
2. 소량 데이터를 조회하는 경우 용량이 큰 테이블에서 검색 속도가 감소
3. 정규화된 테이블로부터 조회하기 위해 테이블 간에 논리적인 연관관계가 필요
4. 논리적인 관계를 구체적인 표현이 JOIN 조건
5. 관계형 데이터베이스의 큰 장점

 

JOIN이 필요한 이유
JOIN이 필요한 이유


 

[SQLD] 3-8. SQL 기본 - OrderBy정렬, SELECT 문장, ROWNUM, Top N 쿼리

 

[SQLD] 3-8. SQL 기본 - OrderBy정렬, SELECT 문장, ROWNUM, Top N 쿼리

A. ORDER BY 정렬 1. SQL 문장으로 조회된 데이터들을 특정 컬럼을 기준으로 정렬하여 출력 2. 정렬 방식을 지정하지 않으면 오름차순이 적용 3. 정렬 방식은 오름차순(ASC), 내림차순(DESC) 두 가지가

infoofit.tistory.com

 

 

[TIP] 윈도우11 생산성 높이는 방법 9가지 - 집중 세션, 음성 입력, 파워토이, 비밀 시작메뉴, 스냅 레이아웃

 

[TIP] 윈도우11 생산성 높이는 방법 9가지 - 집중 세션, 음성 입력, 파워토이, 비밀 시작메뉴, 스냅

많은 사람이 자주 사용하는 애플리케이션, 즉 ‘윈도우’의 생산성 팁에 관심이 많다. 그도 그럴 것이 이 애플리케이션은 대부분의 사용자가 업무를 하는 곳이기 때문이다. 그리고 이제는 윈도

infoofit.tistory.com

 

[Fortinet] Fortigate SNMP 설정, 서버 연동 방법 - FGT 방화벽

 

[Fortinet] Fortigate SNMP 설정, 서버 연동 방법 - FGT 방화벽

Fortigate SNMP 설정 방법 SNMP는 SNMP Manager가 FortiGate로 정보를 요청하는 Polling(UDP 161) 방식과 FortiGate에서 이벤트가 발생할 경우 SNMP Manager로 Trap(UDP 162) 방식이 있다. 위 구성도에서 만약 FortiGate와 SN

infoofit.tistory.com

 

반응형