logo

SQL Left Outer Join vs Left Join

I SQL bruges både LEFT JOIN og LEFT OUTER JOIN til at kombinere data fra to eller flere tabeller baseret på en relateret kolonne, men de er i det væsentlige den samme operation, og der er ingen praktisk forskel mellem dem. Nøgleordet OUTER er valgfrit i de fleste databasesystemer, inklusive populære som MySQL, PostgreSQL og SQL Server.

Venstre slutte sig til

Left Join eller Left Outer Join



Venstre Deltag

EN SQL operation, der kombinerer to tabeller, der viser alle rækker fra venstre tabel og matchende rækker fra højre tabel. Hvis der ikke er nogen match i den højre tabel, vises den NUL værdier.

Syntaks

VÆLG * FRA Tabel1

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



Venstre Ydre Sammenføjning

Endnu en SQL-operation, der konceptuelt er identisk med LEFT JOIN. Den kombinerer også tabeller, der viser alle rækker fra venstre tabel og matchende rækker fra højre tabel. Hvis der ikke er nogen match i den højre tabel, viser den NULL-værdier.

Syntaks

VÆLG * FRA Tabel1

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



LEFT JOIN og LEFT OUTER JOIN er stort set det samme i SQL. De kombinerer begge data fra to tabeller, viser alle rækker fra venstre tabel og matchende rækker fra højre tabel. Hvis der ikke er nogen match i den højre tabel, viser de NULL-værdier. Den eneste forskel er terminologi: LEFT JOIN bruges i nogle databaser som f.eks MySQL , mens LEFT OUTER JOIN bruges i andre som SQL Server. På en mere dybere måde System.out.print() brugt i java, samtidig print brugt i python, men begge afspejler det samme output. Så det er bare et spørgsmål om, hvilket udtryk dit databasesystem foretrækker, men resultatet er identisk.

Før vi dykker ned i eksemplerne, lad os oprette de data, der kræves for at udføre venstre ydre sammenføjning og venstre sammenføjning.

Trin 1: Opret en database

create database geeksforgeeks; use geeksforgeeks;>

Trin 2: Opret en tabel med navnet athelet

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

Trin 3: Indsæt værdier i tabellen athelet

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);>

Trin 4: Opret en tabel med navnet Points

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

Trin 5: Indsæt værdier i tabellen Points

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);>

Nu har vi med succes skabt tabellen athelet og point for joins-operationen.

Eksempel:

Ved at bruge Left Outer Join, vil forespørgslen blive udført.

Forespørgsel

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

Produktion

Id

Navn

b+ træ

Atlet NEJ

ID

Score

Atlet ID

1

Abisheik

27

1

270

1

2

Niyas

27

2

vlc for at downloade youtube

297

2

3

Joseph

29

3

210

3

4

Juan

24

4

180

4

Eksempel:

Ved at bruge Left Join, vil forespørgslen blive udført.

Forespørgsel

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

Produktion

Id

Navn

Atlet NEJ

string java udskiftning

ID

Score

Atlet ID

1

Abisheik

27

1

270

1

2

Niyas

27

2

grundlæggende java

297

2

3

Joseph

29

3

210

3

4

Juan

24

4

180

4

Konklusion

I SQL er LEFT JOIN og LEFT OUTER JOIN i det væsentlige den samme operation, der kun adskiller sig i terminologi. Begge operationer kombinerer data fra to tabeller, viser alle rækker fra den venstre tabel og matchende rækker fra den højre tabel, mens de viser NULL-værdier for ikke-matchende rækker. Uanset hvilket udtryk der bruges i dit databasesystem, forbliver resultatet identisk.

Ofte stillede spørgsmål om Left Join vs Left Outer Join

Q.1: Er der nogen præstationsforskel mellem LEFT JOIN og LEFT OUTER JOIN?

Svar:

Nej, der er ingen præstationsforskel. Disse termer er udskiftelige, og databaseoptimeringsværktøjet håndterer dem på samme måde.

Q.2: Kan jeg bruge LEFT JOIN eller LEFT OUTER JOIN med mere end to borde?

Svar:

Ja, du kan bruge disse joinoperationer med flere tabeller ved at udvide syntaksen og angive joinbetingelserne for hver tabel.

rekha indisk

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

Svar:

De mest udbredte databasesystemer, inklusive MySQL, PostgreSQL og SQL Server, understøtter både LEFT JOIN og LEFT OUTER JOIN. Det er dog vigtigt at tjekke din specifikke databasedokumentation for kompatibilitet.

Q.4: Hvad sker der, hvis jeg bruger LEFT JOIN eller LEFT OUTER JOIN uden at angive en join-betingelse?

Svar:

Brug af disse join-operationer uden en join-betingelse vil resultere i et kartesisk produkt, hvor hver række fra venstre tabel kombineres med hver række fra højre tabel, hvilket potentielt fører til et stort og ineffektivt resultatsæt.

Q.5: Er der andre typer SQL-joins?

Svar:

Ja, SQL understøtter forskellige typer joinforbindelser, herunder INNER JOIN, RIGHT JOIN, FULL OUTER JOIN og CROSS JOIN, der hver tjener forskellige formål med at kombinere data fra flere tabeller.