logo

Typer av SQL JOIN

SQL JOIN

En SQL Join används för att hämta eller kombinera data (rader eller kolumner) från två eller flera tabeller baserat på de definierade villkoren.

Tabell 1: Beställning

OrderID Kundnummer OrderName Produktnamn
12025 101 Peter ABC
12030 105 Robert XYX
12032 110 James XYZ
12034 115 Andrew PQR
12035 120 Mathew AAA

Tabell 2: Kund

Kundnummer Köparens namn Land
100 Rörig Maxico
101 Prins Taiwan
103 Maria Fernandez Kalkon
105 Jasmin Paris
110 Faf Weasel Indonesien
120 Romen Rocket Ryssland

Nu har vi två bord Beställa och den Kund . Det finns en Kundnummer kolumn gemensam i båda tabellerna. Så skriv SQL-frågan för att definiera den allmänna relationen för att välja matchningarnas poster från båda tabellerna.

 Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID; 

Efter att ha utfört ovanstående SQL frågor ger den följande utdata:

OrderID Köparens namn Land Produktnamn
12025 Prins Taiwan ABC
12030 Jasmin Paris XYX
12032 Faf Weasel Indonesien XYZ
12035 Romen Rocket Ryssland AAA

Typer av SQL Join

Det finns olika typer av joins som används i SQL:

  1. Inner Join / Simple Join
  2. Left Outer Join / Left Join
  3. Höger yttre fog / höger fog
  4. Full Outer Join
  5. Cross Join
  6. Gå med själv

Inre koppling

Den inre kopplingen används för att välja alla matchande rader eller kolumner i båda tabellerna eller så länge det definierade villkoret är giltigt i SQL.

Syntax:

 Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column; 

Vi kan representera den inre sammanfogningen genom Venn-diagrammet, enligt följande:

Typer av SQL JOIN

Tabell 1: Elever

Student-ID Elevs namn Ämne Lärar-ID
101 Alexandra Datavetenskap T201
102 Charles Ekonomi T202
103 tom Cruise Datavetenskap T201
104 Aaron Finch Elektronik T203
105 Seed Bajoff Webbdesign T204
106 Christopher Engelsk litteratur T205
107 Denim Mode designer T206

Tabell 2: Lärare

Lärar-ID Lärarnamn Lärarens e-post
T201 Mr Davis [e-postskyddad]
T202 Fru Jonas [e-postskyddad]
T201 Mr Davis [e-postskyddad]
T204 Fru Lopez [e-postskyddad]
T205 Mrs Wiley [e-postskyddad]
T206 Mr Bean [e-postskyddad]

Vi har två bord: Studenter och den Lärare Tabeller. Låt oss skriva SQL-frågorna för att ansluta till tabellen med hjälp av INRE KOPPLING som följer:

 Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID; 

Efter att ha kört frågan producerar den tabellen nedan.

Typer av SQL JOIN

Naturlig gå med

Det är en typ av inre typ som sammanfogar två eller flera tabeller baserat på samma kolumnnamn och har samma datatyp närvarande i båda tabellerna.

Syntax:

 Select * from tablename1 Natural JOIN tablename_2; 

Vi har två bord: Studenter och den Lärare Tabeller. Låt oss skriva SQL-frågorna för att ansluta till tabellen med hjälp av Naturligt GÅ MED som följer:

 Select * from Students Natural JOIN Teachers; 

Efter att ha kört ovanstående fråga producerar den följande tabell.

Typer av SQL JOIN

VÄNSTER GÅ MED

De VÄNSTER GÅ MED används för att hämta alla poster från den vänstra tabellen (tabell1) och de matchade raderna eller kolumnerna från den högra tabellen (tabell2). Om båda tabellerna inte innehåller några matchade rader eller kolumner, returnerar det NULL.

Syntax:

 Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Vi kan också representera den vänstra sammanfogningen genom Venn-diagrammet, enligt följande:

Typer av SQL JOIN

Obs: I vissa databaser är LEFT JOIN även känd som LEFT OUTER JOIN.

Tabell 1: Produktdetaljer

Serienummer Produktnamn Belopp
Pro101 Bärbar dator 56 000
Pro102 Mobil 38 000
Pro103 Hörlurar 5 000
Pro104 Tv 25 000
Pro105 iPad 60 000

Tabell 2: Kundinformation

gimp rektangel rita
Köparens namn Kundadress Kundens ålder Serienummer
Martin Guptill San Francisco, USA 26 Pro101
James Australien 29 Pro103
Ambati Williamson Nya Zeeland 27 Pro102
Jofra Archer Sydafrika 24 Pro105
Kate Wiley Australien tjugo Pro103

Vi har två bord: Produktinformation och den Kunddetaljer Tabeller. Låt oss skriva SQL-frågorna för att gå med i tabellen med hjälp av VÄNSTER GÅ MED som följer:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Efter att ha kört frågan producerar den följande tabell.

Typer av SQL JOIN

De HÖGER GÅ MED används för att hämta alla poster från den högra tabellen (tabell2) och de matchade raderna eller kolumnerna från den vänstra tabellen (tabell1). Om båda tabellerna inte innehåller några matchade rader eller kolumner, returnerar det NULL.

Syntax:

 Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Vi kan också representera den högra sammanfogningen genom Venn-diagrammet, enligt följande:

Typer av SQL JOIN

Obs: I vissa databaser är RIGHT JOIN även känd som RIGHT OUTER JOIN.

Tabell 1: Produktdetaljer

ID Produktnamn Belopp
Pro101 Bärbar dator 56 000
Pro102 Mobil 38 000
Pro103 Hörlurar 5 000
Pro104 Tv 25 000
Pro105 iPad 60 000

Tabell 2: Kundinformation

Köparens namn Kundadress Kundens ålder Serienummer
Martin Guptill San Francisco, USA 26 Pro101
James Australien 29 Pro103
Ambati Williamson Nya Zeeland 27 Pro102
Jofra Archer Sydafrika 24 Pro105
Omen England 29 Pro107
Morgan England tjugo Pro108

Vi har två bord: Produktinformation och den Kunddetaljer Tabeller. Låt oss skriva SQL-frågorna för att ansluta till tabellen med hjälp av HÖGER GÅ MED som följer:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Efter att ha kört frågan producerar den tabellen nedan.

Typer av SQL JOIN

FULL JOIN eller FULL YTTER JOIN:

Det är en kombinationsresultatuppsättning av båda VÄNSTER GÅ MED och HÖGER GÅ MED . De sammanfogade tabellerna returnerar alla poster från båda tabellerna och om inga matchningar hittas i tabellen placeras NULL. Det kallas också a FULLSTÄNDIG YTTRE JOIN .

Syntax:

strängformaterare
 Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name; 

Eller, FULLSTÄNDIG YTTRE JOIN

 Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name; 

Vi kan också representera den fullständiga yttre sammanfogningen genom Venn-diagrammet, enligt följande:

Typer av SQL JOIN

Tabell 1: Produktdetaljer

ID Produktnamn Belopp
Pro101 Bärbar dator 56 000
Pro102 Mobil 38 000
Pro103 Hörlurar 5 000
Pro104 Tv 25 000
Pro105 iPad 60 000

Tabell 2: Kundinformation

Köparens namn Kundadress Kundens ålder Serienummer
Martin Guptill San Francisco, USA 26 Pro101
James Australien 29 Pro103
Ambati Williamson Nya Zeeland 27 Pro102
Jofra Archer Sydafrika 24 Pro105
Omen England 29 Pro107
Morgan England tjugo Pro108

Vi har två bord: Produktinformation och den Kunddetaljer Tabeller. Låt oss skriva SQL-frågorna för att ansluta till tabellen med hjälp av FULL GÅ MED enligt följande:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Efter att ha kört frågan producerar den tabellen nedan.

Typer av SQL JOIN

Notera: MySQL stöder inte FULL JOIN-koncept, så vi kan använda UNION ALL-satsen för att kombinera båda tabellerna.

Här är syntaxen för UNION ALLA Klausul för att kombinera tabellerna.

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID 

Typer av SQL JOIN

KORS-GÅ MED

Det är också känt som CARTESIAN GÅ MED , som returnerar den kartesiska produkten av två eller flera sammanfogade tabeller. De KORS-GÅ MED skapar en tabell som slår samman varje rad från den första tabellen med varje andra tabellrad. Det är inte nödvändigt att inkludera något villkor i CROSS JOIN.

Syntax:

 Select * from table_1 cross join table_2; 

Eller,

 Select column1, column2, column3 FROM table_1, table_2; 

Tabell 1: Produktdetaljer

ID Produktnamn Belopp
Pro101 Bärbar dator 56 000
Pro102 Mobil 38 000
Pro103 Hörlurar 5 000
Pro104 Tv 25 000
Pro105 iPad 60 000

Tabell 2: Kundinformation

Köparens namn Kundadress Kundens ålder Serienummer
Martin Guptill San Francisco, USA 26 Pro101
James Australien 29 Pro103
Ambati Williamson Nya Zeeland 27 Pro102
Jofra Archer Sydafrika 24 Pro105
Omen England 29 Pro107
Morgan England tjugo Pro108

Vi har två bord: Produktinformation och den Kunddetaljer Tabeller. Låt oss skriva SQL-frågorna för att ansluta till tabellen med hjälp av FULL GÅ MED enligt följande:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details; 

Efter att ha kört frågan producerar den tabellen nedan.

Typer av SQL JOIN

GÅ MED SJÄLV

Det är en SELF JOIN som används för att skapa en tabell genom att sammanfoga sig själv eftersom det fanns två tabeller. Det gör temporära namngivning av minst en tabell i en SQL-sats.

Syntax:

 Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition; 

bord 1 och Tbl2 är två olika tabellalias för samma tabell.

Tabell 1: Produktdetaljer

ID Produktnamn Belopp
Pro101 Bärbar dator 56 000
Pro102 Mobil 38 000
Pro103 Hörlurar 5 000
Pro104 Tv 25 000
Pro105 iPad 60 000

Låt oss skriva SQL-frågorna för att ansluta till tabellen med hjälp av GÅ MED SJÄLV som följer:

 Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>