Sammanfattning: I den här handledningen lär du dig hur du använder SQL Server RIGHT JOIN-klausulen för att söka data från två tabeller.

Introduktion till SQL Server RIGHT JOIN-klausulen

RIGHT JOIN kombinerar data från två eller flera tabeller. RIGHT JOIN-klausulen börjar välja data från den högra tabellen och matchar med raderna från den vänstra tabellen. RIGHT JOIN returnerar en resultatuppsättning som innehåller alla rader i den högra tabellen, oavsett om de har matchande rader från den vänstra tabellen eller inte. Om en rad i den högra tabellen inte har några matchande rader från den vänstra tabellen kommer kolumnen i den vänstra tabellen i resultatuppsättningen att ha nollor.

Nedan visas syntaxen för RIGHT JOIN-klausulen:

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

I den här syntaxen är T1 den vänstra tabellen och T2 den högra tabellen.

Anteckna att RIGHT JOIN och RIGHT OUTER JOIN är detsamma. Nyckelordet OUTER är valfritt.

Följande Venn-diagram illustrerar RIGHT JOIN-operationen:

SQL Server RIGHT JOIN example

Vi kommer att använda tabellerna sales.order_items och production.products från exempeldatabasen för demonstrationen.

Följande anvisning returnerar alla order_id från sales.order_items och produktnamn från production.products tabellen:

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

Här är utdata:

Förfrågan returnerade alla rader från production.products tabellen (högra tabellen) och rader från sales.order_items tabellen (vänstra tabellen). Om en produkt inte har någon försäljning kommer kolumnen order_id att vara noll.

För att få fram de produkter som inte har någon försäljning lägger du till en WHERE-klausul i ovanstående fråga för att filtrera bort de produkter som har försäljning:

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

Följande bild visar resultatet:

Följande Venn-diagram illustrerar ovanstående RIGHT JOIN operation:

I den här handledningen har du lärt dig hur du använder SQL Server RIGHT JOIN för att fråga efter data från två tabeller.

Lämna ett svar

Din e-postadress kommer inte publiceras.