PostgreSQL 예가 포함된 조인 유형: 내부, 외부, 왼쪽, 오른쪽

조인이란 무엇입니까? PostgreSQL?

PostgreSQL 조인 둘 이상의 테이블에서 데이터를 검색하는 데 사용됩니다. 조인을 사용하면 SELECT 문과 JOIN 문을 하나의 문으로 결합할 수 있습니다. JOIN 조건이 문에 추가되고 조건을 충족하는 모든 행이 반환됩니다. 서로 다른 테이블의 값은 공통 열을 기준으로 결합됩니다. 공통 열은 대부분 첫 번째 테이블의 기본 키이고 두 번째 테이블의 외래 키입니다.

PostgreSQL 조인 유형

조인에는 두 가지 유형이 있습니다. PostgreSQL:

  • 내부 조인
  • 외부 결합

PostgreSQL 내부 조인

내부 조인에는 3가지 유형이 있습니다. PostgreSQL:

  • 세타 조인
  • 자연스러운 결합
  • EQUI 가입

세타 조인

세타 조인은 세타로 표현된 조건에 따라 두 테이블을 조인할 수 있게 해줍니다. 세타 조인은 모든 비교 연산자와 함께 작동할 수 있습니다. 대부분의 경우 세타 조인은 내부 조인이라고 합니다.

Theta 조인은 JOIN의 가장 기본적인 유형입니다. JOIN 조건이 충족되는 테이블의 모든 행을 반환합니다.

구문 :

SELECT columns
FROM table-1 
INNER JOIN table-2
ON table-1.column = table-2.column;

다음 데모 데이터베이스 테이블을 살펴보세요.

도서:

PostgreSQL 세타 조인

가격:

PostgreSQL 세타 조인

각 책의 이름과 해당 가격을 보고 싶습니다. 다음 명령을 실행할 수 있습니다.

SELECT Book.name, Price.price 
FROM Book 
INNER JOIN Price 
ON Book.id = Price.id;   

다음이 반환됩니다.

PostgreSQL 세타 조인

3개의 행만이 조인 조건을 만족했습니다.

EQUI 가입

EQUI 조인은 기본 키/외래 키 관계를 기반으로 두 테이블을 조인하는 방법을 제공합니다. 예를 들어:

SELECT *
FROM Book 
JOIN Price ON Book.id = Price.id;

다음이 반환됩니다.

PostgreSQL EQUI 가입

공통 열, 즉 id 열을 기준으로 두 테이블 모두에서 레코드가 반환되었습니다.

자연 조인

이러한 유형의 조인은 EQUI 조인을 작성하는 또 다른 방법을 제공합니다. 아래와 같이 NATURAL 키워드를 추가하여 이전 예제를 개선할 수 있습니다.

SELECT *
FROM Book
NATURAL JOIN Price;

다음이 반환됩니다.

PostgreSQL 자연 조인

하나의 ID 열만 반환되었습니다. NATURAL JOIN은 id 열이 두 테이블에서 공통이라는 것을 확인할 수 있었습니다. 하나만 반환되었습니다.

Postgres 외부 조인

외부 조인에는 3가지 유형이 있습니다. PostgreSQL:

  • 왼쪽 외부 결합
  • 오른쪽 외부 결합
  • 전체 외부 결합

Postgres 왼쪽 외부 조인

LEFT OUTER JOIN은 왼쪽 테이블의 모든 행을 반환하고 조인 조건이 충족된 오른쪽 테이블의 행만 반환합니다.

구문 :

SELECT columns
FROM table-1
LEFT OUTER JOIN table-2
ON table-1.column = table-2.column;

각 책의 이름과 해당 가격을 확인해야 합니다. 다음 명령을 실행할 수 있습니다.

SELECT Book.name, Price.price 
FROM Book   
LEFT JOIN Price 
ON Book.id = Price.id;   

다음을 반환합니다.

Postgres 왼쪽 외부 조인

Book 테이블의 4개 행이 모두 반환되었습니다. Price 테이블의 3개 행만 조인 조건을 충족했습니다. 따라서 그들은 반환되었습니다. 마지막 책에는 해당 가격이 없습니다.

Postgres 오른쪽 외부 조인

RIGHT OUTER JOIN은 오른쪽 테이블의 모든 행과 조인 조건이 충족된 왼쪽 테이블의 행을 반환합니다.

구문 :

SELECT columns
FROM table-1
RIGHT OUTER JOIN table-2
ON table-1.column = table-2.column;

예 :

SELECT Book.name, Price.price 
FROM Book
RIGHT JOIN Price 
ON Book.id = Price.id;

다음을 반환합니다.

Postgres 오른쪽 외부 조인

Price 테이블의 모든 행이 반환되었습니다. 조인 조건을 충족하는 Book 테이블의 행만 반환되었습니다. 3rd 일치하는 항목이 없으므로 행에 이름 값이 없습니다.

전체 외부 조인 PostgreSQL

이 유형의 JOIN은 조인 조건이 충족되지 않는 null이 포함된 왼쪽 테이블의 모든 행과 오른쪽 테이블의 모든 행을 반환합니다.

구문 :

SELECT columns
FROM table-1
FULL OUTER JOIN table-2
ON table-1.column = table-2.column;

예 :

SELECT Book.name, Price.price 
FROM Book
FULL OUTER JOIN Price 
ON Book.id = Price.id;

다음을 반환합니다.

Postgres 전체 외부 조인

모든 테이블의 모든 행이 반환되었으며, 일치하는 항목이 없는 경우 null이 반환되었습니다.

pgAdmin 사용

위 작업은 다음과 같이 pgAdmin에서 수행할 수 있습니다.

pgAdmin 내부 조인

Theta 가입 방법 PostgreSQL pgAdmin 사용

다음은 pgAdmin을 사용하여 Postgres에서 Theta Join을 사용하는 단계입니다.

1단계) pgAdmin 계정에 로그인하세요.

pgAdmin을 열고 자격 증명을 사용하여 로그인하세요.

2단계) 데모 데이터베이스 생성

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin 내부 조인

3단계) ​​쿼리를 입력하세요

쿼리 편집기에 아래 쿼리를 입력합니다.

SELECT Book.name, Price.price 
FROM Book 
INNER JOIN Price 
ON Book.id = Price.id;   

4단계) 쿼리 실행

실행 버튼을 클릭하세요

pgAdmin 내부 조인

다음을 반환해야 합니다.

pgAdmin 내부 조인

EQUI 가입

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin EQUI 가입

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

SELECT *
FROM Book 
JOIN Price ON Book.id = Price.id;

단계 4) 실행 버튼을 클릭하세요.

pgAdmin EQUI 가입

다음을 반환해야 합니다.

pgAdmin EQUI 가입

자연 조인

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin 자연 조인

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

SELECT *
FROM Book 
NATURAL JOIN Price;

단계 4) 실행 버튼을 클릭하세요.

pgAdmin 자연 조인

다음을 반환해야 합니다.

pgAdmin 자연 조인

pgAdmin 단순 내부 조인

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin 단순 내부 조인

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

SELECT Book.name, Price.price 
FROM Book 
INNER JOIN Price 
ON Book.id = Price.id;   

단계 4) 실행 버튼을 클릭하세요.

pgAdmin 단순 내부 조인

다음을 반환해야 합니다.

pgAdmin 단순 내부 조인

pgAdmin 외부 조인

왼쪽 외부 결합

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin 왼쪽 외부 조인

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

SELECT Book.name, Price.price 
FROM Book   
LEFT JOIN Price 
ON Book.id = Price.id;   

단계 4) 실행 버튼을 클릭하세요.

pgAdmin 왼쪽 외부 조인

다음을 반환해야 합니다.

pgAdmin 왼쪽 외부 조인

오른쪽 외부 결합

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin 오른쪽 외부 조인

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

SELECT Book.name, Price.price 
FROM Book
RIGHT JOIN Price 
ON Book.id = Price.id;

단계 4) 실행 버튼을 클릭하세요.

pgAdmin 오른쪽 외부 조인

다음을 반환해야 합니다.

pgAdmin 오른쪽 외부 조인

전체 외부 결합

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin 전체 외부 조인

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

SELECT Book.name, Price.price 
FROM Book
FULL OUTER JOIN Price 
ON Book.id = Price.id;

단계 4) 실행 버튼을 클릭하세요.

pgAdmin 전체 외부 조인

다음을 반환해야 합니다.

pgAdmin 전체 외부 조인

요약

  • In PostgreSQL, 둘 이상의 테이블에서 값을 검색해야 할 때 JOIN을 사용합니다.
  • INNER JOIN은 JOIN의 가장 기본적인 형태이다. 지정된 JOIN 조건이 충족된 모든 레코드를 반환합니다.
  • LEFT OUTER JOIN은 왼쪽 테이블의 모든 행과 조인 조건이 충족된 다른 테이블의 행만 반환합니다.
  • RIGHT OUTER JOIN은 오른쪽 테이블의 모든 행과 조인 조건이 충족된 다른 테이블의 행만 반환합니다.
  • 이 유형의 JOIN은 왼쪽 테이블의 모든 행과 조인 조건이 충족되지 않은 null이 있는 오른쪽 테이블의 모든 행을 반환합니다.

이 튜토리얼에 사용된 데이터베이스 다운로드