반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 제이쿼리
  • css
  • 스크롤js
  • 중복 제거 로또
  • 청춘고양이
  • 제이쿼리 비밀번호
  • 자바db연동
  • js 비밀번호
  • 초보개발
  • js
  • 쉬프트 연산
  • js 로또 번호
  • 객체 안의 함수
  • 자바
  • js 패스워드 변경
  • 제이쿼리 패스워드 변경
  • 제이쿼리 버튼클릭시 색 변경
  • ScrollEffectJs
  • spring 기본설정
  • 가위바위보js

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이

배움을 기록하는 곳

Oracle

Self alias and Outer join

2024. 6. 11. 15:01
반응형
SELECT a.id, b.F_id, c.name 
FROM a, b, a c 
WHERE a.id = b.id 
  AND b.F_id = c.id(+);

이 패턴을 이용해 이름이 포함된 정보를 가진 테이블 a를 alias 해 다시 이용해서 값을 가지고 온다. 이 값은 outer join으로 가져 오기 때문에 매칭되는 값이 없다면 null을 표시 

<최신 표현>

SELECT a.id, b.F_id, c.name 
FROM a
JOIN b ON a.id = b.id
LEFT JOIN a c ON b.F_id = c.id;

 

 

1. 데이터 연관성 표현

이 패턴을 사용하면 동일한 테이블 내에서 서로 다른 역할을 하는 데이터를 명확하게 구분하고 조인할 수 있습니다. 예를 들어, 직원 테이블에서 직원과 그 직원의 매니저를 연관시킬 때 유용합니다.

SELECT e.id AS employee_id, e.name AS employee_name, m.name AS manager_name
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.id;

2. 데이터 무결성 유지

외부 조인을 사용하면 일치하지 않는 데이터에 대해 NULL 값을 반환하여 데이터 무결성을 유지할 수 있습니다. 이는 특히 선택적 관계가 있는 데이터를 다룰 때 유용합니다.

3. 명확한 읽기 및 유지보수 용이성

SQL의 최신 문법인 JOIN 구문을 사용하면 쿼리의 의도가 명확해지고 가독성이 높아집니다. 이는 쿼리를 작성하고 유지보수하는 데 도움이 됩니다.

SELECT a.id, b.F_id, c.name 
FROM a
JOIN b ON a.id = b.id
LEFT JOIN a c ON b.F_id = c.id;

4. 복잡한 데이터 구조의 처리

이 패턴은 복잡한 데이터 구조를 처리할 때 유용합니다. 예를 들어, 계층적 데이터 구조에서 부모-자식 관계를 표현할 때 유용합니다.

SELECT child.id AS child_id, parent.id AS parent_id, parent.name AS parent_name
FROM organization child
LEFT JOIN organization parent ON child.parent_id = parent.id;

5. 성능 최적화

외부 조인을 사용하여 필요한 데이터만 가져오므로 불필요한 데이터 접근을 줄일 수 있습니다. 이는 성능 최적화에 도움이 될 수 있습니다.

6. 데이터 누락 방지

외부 조인을 사용하면 조인 조건에 맞지 않는 데이터를 포함할 수 있어 데이터 누락을 방지할 수 있습니다. 이는 보고서 작성이나 데이터 분석 시 중요한 역할을 합니다.

7. 유연한 데이터 모델링

테이블을 별칭하여 조인하는 패턴은 유연한 데이터 모델링을 가능하게 합니다. 동일한 테이블을 여러 번 사용하여 다양한 관계를 표현할 수 있습니다.

 

반응형
저작자표시 (새창열림)

'Oracle' 카테고리의 다른 글

Import CSV raw data from an Oracle database: Using Database Import  (0) 2024.06.21
The boundaries of data validation queries: From accuracy to security  (0) 2024.06.21
Ranking by group with ROW_NUMBER()  (0) 2024.06.14
SQL Loader  (0) 2024.06.14
Essential TOAD for Oracle Shortcuts for Efficient Database Management  (0) 2024.05.22
    'Oracle' 카테고리의 다른 글
    • The boundaries of data validation queries: From accuracy to security
    • Ranking by group with ROW_NUMBER()
    • SQL Loader
    • Essential TOAD for Oracle Shortcuts for Efficient Database Management
    청춘고양이
    청춘고양이
    신입개발자

    티스토리툴바