ПостгреСКЛ спајања: Унутрашња, Спољашња, Лева, Десна, Природна са примерима

Преглед садржаја:

Anonim

Шта су ПостгреСКЛ придруживања?

ПостгреСКЛ ЈОИН-ови се користе за преузимање података из више табела. Са ЈОИН-овима је могуће да комбинирамо СЕЛЕЦТ и ЈОИН изразе у једну изјаву. Увезу се додаје ЈОИН и враћају се сви редови који испуњавају услове.

Вредности из различитих табела комбинују се на основу уобичајених колона. Уобичајена колона је углавном примарни кључ прве табеле и страни кључ друге табеле.

У овом упутству за ПостгреСКЛ научићете:

  • Шта су ПостгреСКЛ придруживања?
  • Врсте придруживања
  • Иннер Јоинс
    • Тхета Јоин
    • ЕКУИ Придружите се
    • Натурал Јоин
  • Спољни спојеви
    • ЛИЈЕВО ВАЊСКО ПРИДРУЖИТЕ
    • ПРАВО ВАЊСКО ПРИДРУЖИТЕ
    • Потпуно спољашње придруживање
  • Коришћење пгАдмин
  • Иннер Јоинс
    • Тхета Јоин
    • ЕКУИ Придружите се
    • Натурал Јоин
    • ИННЕР ЈОИН (једноставно придруживање)
  • Спољни спојеви
    • ЛИЈЕВО ВАЊСКО ПРИДРУЖИТЕ
    • ПРАВО ВАЊСКО ПРИДРУЖИТЕ
    • Потпуно спољашње придруживање

Врсте придруживања

Постоје два типа ЈОИН у ПостгреСКЛ:

  • Иннер Јоинс
  • Спољно придруживање

Иннер Јоинс

Постоје 3 врсте унутрашњих спајања:

  • Тхета се придружи
  • Природно придруживање
  • ЕКУИ придружи се

Тхета Јоин

Тхета спајање омогућава спајање две табеле на основу услова који представљају тхета. Тхета придруживања могу да раде са свим оператерима упоређивања. У већини случајева, тхета спајање се назива унутрашњим спајањем.

Тхета придруживање је најосновнији тип ПРИДРУЖИВАЊА. Вратиће све редове из табела у којима је задовољен услов ПРИДРУЖИВАЊЕ.

Синтакса:

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

Размотрите следеће табеле Демо базе података:

Боок:

Цена:

Желимо да видимо назив сваке књиге и одговарајућу цену. Можемо покренути следећу команду:

SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;

Ово ће вратити следеће:

Само 3 реда задовољила су услов придруживања.

ЕКУИ Придружите се

Придруживање ЕКУИ пружа нам начин спајања две табеле на основу односа примарни кључ / страни кључ. На пример:

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

Ово ће вратити следеће:

Записи су враћени из обе табеле на основу заједничких колона, односно колоне ид.

Натурал Јоин

Ова врста спајања пружа нам још један начин писања ЕКУИ придруживања. Наш претходни пример можемо побољшати додавањем кључне речи НАТУРАЛ као што је приказано доле:

SELECT *FROM BookNATURAL JOIN Price;

Ово ће вратити следеће:

Враћена је само једна колона ид. НАТУРАЛ ЈОИН је успео да примети да је колона ид уобичајена у две табеле. Враћен је само један.

Спољни спојеви

Постоје три врсте спољних ЈОИН-ова у ПостгреСКЛ-у:

  • Лево Спољно Придруживање
  • Право спољашње придруживање.
  • Потпуно спољашње придруживање

ЛИЈЕВО ВАЊСКО ПРИДРУЖИТЕ

ЛИЈЕВО ВАЊСКО ПРИДРУЖИВАЊЕ вратит ће све редове у таблици с лијеве стране и само ретке у десној бочној таблици гдје су испуњени услови за придруживање.

Синтакса:

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

Морамо да видимо име сваке књиге и одговарајућу цену. Можемо покренути следећу команду:

SELECT Book.name, Price.priceFROM BookLEFT JOIN PriceON Book.id = Price.id;

Ово враћа следеће:

Враћена су сва 4 реда у табели Боок. Само 3 реда из табеле цена су испунила услов придруживања. Отуда су враћени. Последња књига нема одговарајућу вредност цене.

ПРАВО ВАЊСКО ПРИДРУЖИТЕ

ДЕСНО ВАЊСКО ПРИДРУЖИВАЊЕ враћа све редове у табели на десној страни и редове у табели на левој страни где су испуњени услови за спајање.

Синтакса:

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

На пример:

SELECT Book.name, Price.priceFROM BookRIGHT JOIN PriceON Book.id = Price.id;

Ово враћа следеће:

Враћени су сви редови у табели Цена. Враћени су само редови у табели Боок који су испуњавали услов придруживања. В 3 ИИИ реда нема никакву вредност за име јер није пронађен ниједан меч.

Потпуно спољашње придруживање

Ова врста ПРИДРУЖИВАЊА вратиће све редове у табели на левој страни и све редове у табели на десној страни са нулама где услов за придруживање није задовољен.

Синтакса:

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

На пример:

SELECT Book.name, Price.priceFROM BookFULL OUTER JOIN PriceON Book.id = Price.id;

Ово враћа следеће:

Сви редови из свих табела су враћени, са нулама где није пронађено подударање.

Коришћење пгАдмин

Горе наведени задаци могу се извршити у пгАдмину на следећи начин:

Иннер Јоинс

Тхета Јоин

Корак 1) Пријавите се на свој пгАдмин налог.

Корак 2)

  1. На траци за навигацију са леве стране кликните на Базе података.
  2. Кликните Демо.

Корак 3) Укуцајте упит у уређивачу упита:

SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;

Корак 4) Кликните на дугме Изврши.

Требало би да врати следеће:

ЕКУИ Придружите се

Корак 1) Пријавите се на свој пгАдмин налог.

Корак 2)

  1. На траци за навигацију са леве стране кликните на Базе података.
  2. Кликните Демо.

Корак 3) Укуцајте упит у уређивачу упита:

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

Корак 4) Кликните на дугме Изврши.

Требало би да врати следеће:

Натурал Јоин

Корак 1) Пријавите се на свој пгАдмин налог.

Корак 2)

  1. На траци за навигацију са леве стране кликните на Базе података.
  2. Кликните Демо.

Корак 3) Укуцајте упит у уређивачу упита:

SELECT *FROM BookNATURAL JOIN Price;

Корак 4) Кликните на дугме Изврши.

Требало би да врати следеће:

ИННЕР ЈОИН (једноставно придруживање)

Корак 1) Пријавите се на свој пгАдмин налог.

Корак 2)

  1. На траци за навигацију са леве стране кликните на Базе података.
  2. Кликните Демо.

Корак 3) Укуцајте упит у уређивачу упита:

SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;

Корак 4) Кликните на дугме Изврши.

Требало би да врати следеће:

Спољни спојеви

ЛИЈЕВО ВАЊСКО ПРИДРУЖИТЕ

Корак 1) Пријавите се на свој пгАдмин налог.

Корак 2)

  1. На траци за навигацију са леве стране кликните на Базе података.
  2. Кликните Демо.

Корак 3) Укуцајте упит у уређивачу упита:

SELECT Book.name, Price.priceFROM BookLEFT JOIN PriceON Book.id = Price.id;

Корак 4) Кликните на дугме Изврши.

Требало би да врати следеће:

ПРАВО ВАЊСКО ПРИДРУЖИТЕ

Корак 1) Пријавите се на свој пгАдмин налог.

Корак 2)

  1. На траци за навигацију са леве стране кликните на Базе података.
  2. Кликните Демо.

Корак 3) Укуцајте упит у уређивачу упита:

SELECT Book.name, Price.priceFROM BookRIGHT JOIN PriceON Book.id = Price.id;

Корак 4) Кликните на дугме Изврши.

Требало би да врати следеће:

Потпуно спољашње придруживање

Корак 1) Пријавите се на свој пгАдмин налог.

Корак 2)

  1. На траци за навигацију са леве стране кликните на Базе података.
  2. Кликните Демо.

Корак 3) Укуцајте упит у уређивачу упита:

SELECT Book.name, Price.priceFROM BookFULL OUTER JOIN PriceON Book.id = Price.id;

Корак 4) Кликните на дугме Изврши.

Требало би да врати следеће:

Резиме:

  • У ПостгреСКЛ-у користимо ЈОИН-ове када треба да преузмемо вредности из више табела.
  • УНУТАРЊЕ ПРИДРУЖИВАЊЕ је најосновнији тип ПРИДРУЖИВАЊА. Враћа све записе код којих је задовољен наведени услов ПРИДРУЖИВАЊЕ.
  • ЛЕВО ВАЊСКО ПРИДРУЖИВАЊЕ враћа све редове у левој табели и само редове у другој табели где су испуњени услови придруживања.
  • ДЕСНО ВАЊСКО ПРИДРУЖИВАЊЕ враћа све редове у десној табели и само редове у другој табели где су испуњени услови придруживања.
  • Овај тип ЈОИН враћа све редове у левој табели и све редове у десној табели са нулама где услов за придруживање није задовољен.

Преузмите базу података кориштену у овом водичу