PostgreSQL LEFT JOIN (Svenska)

sammanfattning: i den här handledningen lär du dig hur du använder PostgreSQL LEFT JOIN – klausulen för att välja data från flera tabeller.

introduktion till PostgreSQL LEFT JOIN clause

Antag att du har två tabeller:A ochB.,

varje rad i tabellen A kan ha noll eller många motsvarande rader i tabellen B medan varje rad i tabellen B har en och endast en motsvarande rad i tabellen A .

för att välja data från tabellenA som kanske eller kanske inte har motsvarande rader i tabellenB använder du klausulenLEFT JOIN.,

följande uttalande illustrerar syntaxen LEFT JOIN som går med i tabellen A med tabellen B :

Code language: SQL (Structured Query Language) (sql)

för att gå med i tabellen A med tabellen A. div id=”41cbd4ed8b”>

– tabellen med en vänster koppling följer du följande steg:

  • ange först kolumnerna i båda tabellerna som du vill välja data från iSELECT – klausulen.
  • för det andra, ange den vänstra tabellen (TabellA) IFROM – klausulen.,
  • tredje, ange den högra tabellen (TabellB) ILEFT JOIN och kopplingsförhållandet efter nyckelordetON.

LEFT JOIN börjar välja data från den vänstra tabellen. För varje rad i den vänstra tabellen jämförs värdet i kolumnenpkamed värdet för varje rad i kolumnen fka I den högra tabellen.,

om dessa värden är lika skapar den vänstra kopplingsklausulen en ny rad som innehåller kolumner som visas iSELECT – klausulen och lägger till den här raden i resultatuppsättningen.

om dessa värden inte är lika skapar klausulen vänster koppling också en ny rad som innehåller kolumner som visas i klausulen SELECT. Dessutom fyller den kolumnerna som kommer från höger bord med NULL.,

följande Venn-diagram visar hurLEFT JOIN – klausulen fungerar:

Observera attLEFT JOIN också kallasLEFT JOINc78884287f ” >

.

PostgreSQL LEFT JOIN examples

låt oss titta på följandefilm ochinventory tabeller från provdatabasen.,

varje rad i tabellen film kan ha noll eller många rader i tabellen inventory. Varje rad i tabellen inventory har en och endast en rad i tabellen film.

kolumnenfilm_id fastställer länken mellan tabellernafilm ochinventory.,

följande uttalande använderLEFT JOIN – klausulen för att ansluta tillfilm – tabellen med tabelleninventory:

När en rad från tabellen filminte har någon matchande rad i kolumnen inventoryär värdet på kolumnen inventory_id NULL.,

följande uttalande lägger till enWHERE – klausul för att hitta de filmer som inte finns i inventeringen:

följande uttalande returnerar samma resultat., Skillnaden är att den använder tabellaliasen för att göra frågan mer kortfattad:

om båda tabellerna har samma kolumnnamn som används i ON – klausulen kan du använda USING syntax så här:

denna teknik är användbar när du vill välja rader från en tabell som inte har matchande rader i en annan tabell.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Hoppa till verktygsfältet