logo

SQL Left Ytre Join vs Left Join

I SQL brukes både LEFT JOIN og LEFT OUTER JOIN til å kombinere data fra to eller flere tabeller basert på en relatert kolonne, men de er i hovedsak den samme operasjonen, og det er ingen praktisk forskjell mellom dem. Nøkkelordet OUTER er valgfritt i de fleste databasesystemer, inkludert populære som MySQL, PostgreSQL og SQL Server.

Venstre bli med

Left Join eller Left Outer Join



Venstre Bli med

EN SQL operasjon som kombinerer to tabeller, som viser alle rader fra venstre tabell og samsvarende rader fra høyre tabell. Hvis det ikke er noen samsvar i den høyre tabellen, vises den NULL verdier.

Syntaks

VELG * FRA tabell 1

LEFT JOIN Table2 ON Table1.columnName = Table2.columnName;



Venstre ytre skjøt

En annen SQL-operasjon som er konseptuelt identisk med LEFT JOIN. Den kombinerer også tabeller, og viser alle rader fra venstre tabell og samsvarende rader fra høyre tabell. Hvis det ikke er samsvar i den høyre tabellen, viser den NULL-verdier.

Syntaks

VELG * FRA tabell 1

VENSTRE YTRE JOIN Table2 ON Table1.columnName = Table2.columnName;



LEFT JOIN og LEFT OUTER JOIN er i hovedsak det samme i SQL. De kombinerer begge data fra to tabeller, og viser alle rader fra venstre tabell og samsvarende rader fra høyre tabell. Hvis det ikke er samsvar i den høyre tabellen, viser de NULL-verdier. Den eneste forskjellen er terminologi: LEFT JOIN brukes i noen databaser som MySQL , mens LEFT OUTER JOIN brukes i andre som SQL Server. På en dypere måte System.out.print() brukt i java, samtidig utskrift brukt i python, men begge gjenspeiler samme utgang. Så det er bare et spørsmål om hvilket begrep databasesystemet ditt foretrekker, men resultatet er identisk.

Før vi går inn i eksemplene, la oss lage dataene som kreves for å utføre Venstre ytre sammenføyning og venstre sammenføyning.

Trinn 1: Opprett en database

create database geeksforgeeks; use geeksforgeeks;>

Trinn 2: Lag en tabell med navnet athelete

create table atheletes(Id int, Name varchar(20),  AtheleteNO int, primary key(Id) );>

Trinn 3: Sett inn verdier i tabellatheleten

INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (1, 'abisheik', 27); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (2, 'Niyas', 27); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (3, 'Joseph', 29); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (4, 'Juan', 24);>

Trinn 4: Lag en tabell som heter Points

CREATE TABLE Points(ID INT, Score INT,AtheleteID INT,   PRIMARY KEY (ID) );>

Trinn 5: Sett inn verdier i tabellen Poeng

INSERT INTO Points (ID, Score, AtheleteID) VALUES (1, 270, 1); INSERT INTO Points (ID, Score, AtheleteID) VALUES (2, 297, 2); INSERT INTO Points (ID, Score, AtheleteID) VALUES (3, 210, 3); INSERT INTO Points (ID, Score, AtheleteID) VALUES (4, 180, 4);>

Nå har vi opprettet tabellatheleten og poeng for joins-operasjonen.

Eksempel:

Ved å bruke Left Outer Join, vil spørringen bli utført.

Spørsmål

SELECT * FROM atheletes   LEFT OUTER JOIN Points ON  atheletes.ID = Points.AtheleteID;>

Produksjon

ID

Navn

java tilfeldig tallgenerator

Athelet NO

ID

Score

Athelet-ID

1

Abisheik

27

1

270

1

2

Niyas

27

2

vlc for å laste ned youtube

297

2

3

Josef

29

3

210

3

4

Juan

24

4

180

4

Eksempel:

Ved å bruke Left Join, vil spørringen bli utført.

Spørsmål

SELECT * FROM atheletes   LEFT JOIN Points ON  atheletes.ID = Points.AtheleteID;>

Produksjon

ID

Navn

Athelet NEI

string java erstatning

ID

Score

Athelet-ID

1

Abisheik

27

1

270

1

2

Niyas

27

2

haug og haug sortering

297

2

3

Josef

29

3

210

3

4

Juan

24

4

180

4

Konklusjon

I SQL er LEFT JOIN og LEFT OUTER JOIN i hovedsak den samme operasjonen, bare forskjellig i terminologi. Begge operasjonene kombinerer data fra to tabeller, og viser alle rader fra venstre tabell og samsvarende rader fra høyre tabell mens de viser NULL-verdier for rader som ikke samsvarer. Uavhengig av begrepet som brukes i databasesystemet ditt, forblir resultatet identisk.

Vanlige spørsmål om Left Join vs Left Outer Join

Q.1: Er det noen ytelsesforskjell mellom LEFT JOIN og LEFT OUTER JOIN?

Svar:

Nei, det er ingen ytelsesforskjell. Disse begrepene er utskiftbare, og databaseoptimereren håndterer dem på samme måte.

Q.2: Kan jeg bruke LEFT JOIN eller LEFT OUTER JOIN med mer enn to bord?

Svar:

Ja, du kan bruke disse sammenføyningsoperasjonene med flere tabeller ved å utvide syntaksen, spesifisere sammenføyningsbetingelsene for hver tabell.

rekha indisk

Q.3: Støtter alle databasesystemer både LEFT JOIN og LEFT OUTER JOIN?

Svar:

De mest brukte databasesystemene, inkludert MySQL, PostgreSQL og SQL Server, støtter både LEFT JOIN og LEFT OUTER JOIN. Det er imidlertid viktig å sjekke din spesifikke databasedokumentasjon for kompatibilitet.

Q.4: Hva skjer hvis jeg bruker LEFT JOIN eller LEFT OUTER JOIN uten å spesifisere en sammenføyningsbetingelse?

Svar:

Bruk av disse sammenføyningsoperasjonene uten en sammenføyningsbetingelse vil resultere i et kartesisk produkt, der hver rad fra venstre tabell kombineres med hver rad fra høyre tabell, noe som potensielt kan føre til et stort og ineffektivt resultatsett.

Q.5: Finnes det andre typer SQL-koblinger?

Svar:

Ja, SQL støtter ulike typer sammenføyninger, inkludert INNER JOIN, RIGHT JOIN, FULL OUTER JOIN og CROSS JOIN, som hver tjener forskjellige formål med å kombinere data fra flere tabeller.