SQL Server venstre bli med

SQL Server venstre bli med

En av de fremtredende funksjonene i relasjonsdatabaser, for eksempel SQL Server, er å få data fra forskjellige tabeller og kombinere dem for å lage ny, men relatert informasjon. Måten å oppnå dette på er ved bruk av SQL -sammenføyninger.

Sammenføyninger er nyttige da de lar deg fortelle SQL Server hvordan du bruker og organiserer datoen fra de valgte tabellene. Dette hjelper til med å skape et forhold mellom to eller flere tabeller.

Denne artikkelen vil lære å bruke SQL venstre bli med I SQL Server.

Før du fortsetter, må du sørge for at du har installert og kjører SQL Server. Vi anbefaler også å bruke SQL Server Management Studio for å få lignende utdata som kodeprøver.

Det grunnleggende

SQL venstre sammenføyning er en type sammenføyning som returnerer radene fra venstre tabell uavhengig av en matchende rad på høyre bord. Dette skiller seg fra andre sammenføyninger, for eksempel indre sammenføyninger, som krever minst en matchende rad i både venstre og høyre bord.

La oss ta et enkelt eksempel. Anta at vi har det Tabell X og Tabell y. Tabell X har rader (A B C D E) Mens tabell Y har rader: (d e f g h).

Hvis vi utfører en venstre sammenføyning på tabellene, vil det resulterende settet inneholde alle verdiene fra venstre tabell, enten radene samsvarer med bordet til høyre eller ikke.

Vi kan uttrykke syntaks for en SQL venstre sammenføyning som:

Velg kolonne (er)
Fra tabell1_navn
Venstre bli med tabell2_navn
På tabell1_navn.col_name = tabell2_navn.col_name;

I syntaksen ovenfor starter vi med å velge målkolonnene vi ønsker å inkludere i resultatsettet neste; Vi satte den venstre sammenføyningsklausulen etterfulgt av sammenføyningsforholdet som er spesifisert etter ON -leddet.

Venstre bli med ved eksempel

La oss anta at vi har to tabeller som inneholder kundeinformasjon, for eksempel CustomerId, FirstName og LastName. Den andre tabellen inneholder salgsinformasjon som for eksempel SalesID, selger, CustomerID, ProductID, mengde.

Vi kan utføre en venstresak for å velge alle kundene og salget deres. Tenk på eksemplet SQL -spørring vist nedenfor:

Velg Topp 10 kunder.FirstName, salg.Salesid
Fra kunder
Venstre bli med salg på kunder.CustomerId = salg.Kunde ID

Eksempelforespørselen ovenfor skal returnere et resulterende sett som vist nedenfor:

Venstre -sammenføyningen returnerer alle radene fra kundens bord uavhengig av utilgjengelighet av matchende rader i salgstabellen.

Eksempel 2 - Venstre bli med hvor leddet

Du kan også spesifisere en hvor tilstand til spørringen. Dette lar deg filtrere for spesifikke resultater i en angitt tabell. For eksempel kan vi utføre en venstre bli med på kunder der fornavnet er John.

Tenk på eksemplet som er vist nedenfor:

Velg Topp 10 kunder.FirstName, salg.Salesid
Fra kunder
Venstre bli med salg på kunder.CustomerId = salg.Kunde ID
Hvor kunder.FirstName = 'John';

Spørringen vil bare returnere radene der kundens første navn er John. Et eksempel på resultatet er som vist:

Du legger merke til at Venstre bli med spørring legger til en NULL Hvis det ikke er noen matchende rad.

Eksempel 3 - Venstre bli med ordre etter klausul

Hvis du legger til en ordre etter klausul til en venstre sammenføyning, kan du sortere verdiene i det resulterende settet etter en spesifikk tilstand. For eksempel sorterer spørringen nedenfor resultatet av Salesid i synkende rekkefølge.

Velg Topp 10 kunder.FirstName, salg.Salesid
Fra kunder
Venstre bli med salg på kunder.CustomerId = salg.Kunde ID
Bestill etter salg.Salesid Desc;

Spørringen returnerer verdiene sortert av SalesID fra høyeste til laveste. Den resulterende spørringen er som vist nedenfor:

SQL Server: Venstre bli med VS. Indre sammenføyning

Hvis du er en ny SQL -nybegynner, kan du velge mellom en venstre sammenføyning og en indre sammenføyning. For å unngå forvirring, bruk bare venstre, når du trenger det resulterende settet for å inkludere alle radene fra venstre, selv om det ikke er noen matchende rader på høyre bord.

Indre sammenføyning er nyttig når du trenger det resulterende settet for bare å inkludere rader med matchende par på venstre og høyre bord.

Lukking

Denne artikkelen dekker det grunnleggende om å bruke SQL venstre sammen med SQL Server. Du kan opprette et resulterende sett med poster ved hjelp av venstre sammenføyninger, selv om det ikke er noen matchende rader på venstre og høyre bord.

Følg med for mer SQL Server -innhold!!