day DBMS 04

JTH·2023년 2월 13일
0

gb_jth

목록 보기
40/56

1. join 조인

1-1. join 이란?

  • 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법으로 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여주는것

1-2. join의 기본 사용 방법

  • 두개의 테이블에 하나라도 같은 컬럼이 있어야 한다.
  • 두 컬럼의 값은 공유되어야 한다.
  • 보통 join을 위해 기본키 (Primary key) 와 외래키 (Foreign key) 를 활용한다.

1-3. inner join

  • 각 테이블에 조인 조건에 일치되는 데이터만 가져온다.

  • inner join은 교집합 이라고 말한다.

    select * from table_A t1( t1이라는 알리아스 기본 별칭 두기)
    inner join table_B t2

1-4. outer join

  • join 조건에 일치하는 데이터 및 일지하지 않은 데이터를 모두 select 한다.
  • 조인 조건이 일치하는 데이터가 없다면 NULL로 가져온다.
  • outer join 은 inner join과 다르게 주( main ) 테이블이 어떤 테이블인지가 중요하다.
    그래서 어떤 테이블이 중심이 되느냐에 따라 다시 Left Outer Join, Right Outer Join, Full Outer Join
    으로 세분화 할 수 있다.
  • Left Outer Join 은 왼쪽에 있는 테이블이,
    Right Outer Join 은 오른쪽에 있는 테이블이,
    Full Outer Join 은 양쪽 테이블이 모두가 중심(주) 라는 뜻이다.

1-5. Left Outer Join

  • 왼쪽 테이블이 기준이 된다.

  • 조인 조건에 부합하는 데이터가 조인 당하는 테이블(오른쪽)에 있으면 해당 에디터를, 부재하면 null로 selecet된다.

    select * from table_A t1( t1이라는 알리아스 기본 별칭 두기)
    left outer join table_B t2

1-6. Right outer join

  • 오른쪽 테이블이 기준이 된다.

  • 조인 조건에 부합하는 데이터가 조인 당하는 테이블(왼쪽)에 있으면 해당 에디터를, 부재하면 null로 selecet된다.

    select * from table_A t1( t1이라는 알리아스 기본 별칭 두기)
    right outer join table_B t2

1-7. full outer join

  • 양쪽 테이블이 기준이 된다.

  • 조인 조건에 부합하는 데이터가 조인 당하는 테이블(왼쪽 or 오른쪽)에 있으면 해당 에디터를, 부재하면 null로 selecet된다.

    select * from table_A t1( t1이라는 알리아스 기본 별칭 두기)
    full outer join table_B t2

1-8. ANSI Join VS Oracle Join

  • SQL은 데이터 베이스를 관리하기 위해 만들어진 프로그래밍 언어이며, 데이터 베이스를 관리해주는 대부분의 DBMS들은 SQL을 사용한다.
    물론 DBMS자체의 특수성때문에 SQL의 사용법이 조금씩 다르기도 하지만, 큰 틀에서 보면 나름대로의 보편성을 가지고 있다.
  • ANSI 미국 국립 표준 협회에서도 SQL에 대한 보편적인 문법을 제시하고 있는데, 그것이 바로 ANSI Query 이다.
    Join도 마찬가지로 ANSI문법을 사용하는 경우가 대부분이다.

2. 서브쿼리 (subQuery)

2-1. 서브쿼리란?

  • Main Query에 반대되는 개념으로 이름을 붙인것
  • 메인쿼리를 구성하는 소단위 쿼리
  • select, insert, delete, update 절에서 모두 사용 가능
  • 서브쿼리의 결과 집합을 메인 쿼리가 중간 결과 값으로 사용
  • 서브쿼리 자체는 일반 쿼리와 다를 바가 없다.
profile
//

0개의 댓글