Yhteenveto: tämä opetusohjelma, opit, miten käyttää PostgreSQL LEFT JOIN
lauseke valitse tietoja useista taulukoista.
Johdanto PostgreSQL VASEMMALLE LIITTYÄ lauseke
Oletetaan, että sinulla on kaksi pöytää: A
ja B
.,
taulukon Kukin rivi A
voi olla nolla tai useita vastaaviin riveihin taulukossa B
kun taulukon kukin rivi B
on yksi ja vain yksi vastaava taulukon rivi A
.
valitse tiedot taulukosta A
jotka voivat tai ei ehkä ole vastaaviin riveihin taulukossa B
voit käyttää LEFT JOIN
lauseke.,
seuraava lausuma kuvaa LEFT JOIN
syntaksin, joka liittyy taulukko A
taulukko B
:
Code language: SQL (Structured Query Language) (sql)
liittyä taulukko A
taulukko B
taulukko käyttäen vasen liittyä, voit seurata näitä ohjeita:
- Ensimmäinen, määritä sarakkeet sekä taulukot, josta haluat valita tiedot
SELECT
lauseke. - Toiseksi, määrittää, vasen taulukossa (taulukko
A
)FROM
lauseke., - Kolmas, määritä oikea taulukko (table
B
)LEFT JOIN
lauseke ja liitosehto jälkeenON
avainsana.
LEFT JOIN
lauseke alkaa valitsemalla tiedot vasemmalta pöydän. Kunkin rivin vasemmassa taulukossa verrataan arvo pka
sarakkeen arvo jokainen rivi fka
sarake oikeaan pöytään.,
Jos nämä arvot ovat yhtä suuret, vasen liittyä lauseke luo uuden rivin, joka sisältää sarakkeet, jotka näkyvät SELECT
lauseke ja lisää tämä rivi tulosjoukon.
jos nämä arvot eivät ole tasa-arvoisia, vasen liittyä mainittiin myös luo uuden rivin, joka sisältää sarakkeet, jotka näkyvät SELECT
lauseke. Lisäksi se täyttää oikeasta pöydästä tulevat pylväät NULLILLA.,
seuraavan Venn kaavio havainnollistaa, kuinka LEFT JOIN
lauseke toimii:
Huomaa, että LEFT JOIN
tunnetaan myös nimellä LEFT OUTER JOIN
.
PostgreSQL VASEMMALLE LIITTYÄ esimerkkejä
katsotaanpa seuraavat film
ja inventory
taulukot näytteen tietokantaan.,
Jokainen rivi film
taulukko voi olla nolla tai useita rivejä inventory
taulukko. Kukin rivi inventory
pöydässä on yksi ja vain yksi rivi film
taulukko.
film_id
sarake luodaan yhteys film
ja inventory
taulukot.,
seuraavan lausuman käyttää LEFT JOIN
lauseke liittyä film
taulukko, jossa inventory
taulukko:
Kun rivi film
taulukko ei ole vastaava rivi inventory
taulukko, arvo inventory_id
sarake rivi on NULL
.,
seuraavan lausuman lisää WHERE
lauseke löytää elokuvia, jotka eivät ole inventaario:
seuraava lauseke palauttaa saman tuloksen., Erona on, että se käyttää taulukon peitenimet, jotta kyselyn suppeampi:
Jos molemmat taulukot ovat samassa sarakkeessa käytetty nimi ON
lauseke, voit käyttää USING
syntaksin, kuten tämä:
Tämä tekniikka on hyödyllinen, kun haluat valita rivejä, yksi taulukko, joka ei ole vastaavia rivejä toisesta taulukosta.