logo

Vrste SQL JOIN

SQL PRIDRUŽIVANJE

SQL spajanje koristi se za dohvaćanje ili kombiniranje podataka (redaka ili stupaca) iz dvije ili više tablica na temelju definiranih uvjeta.

Tablica 1: Redoslijed

ID narudžbe ID kupca Naziv narudžbe Ime proizvoda
12025 101 Petar ABC
12030 105 Robert XYX
12032 110 James XYZ
12034 115 Andrija PQR
12035 120 Matej AAA

Tablica 2: Kupac

ID kupca Ime kupca Zemlja
100 neuredno Maxico
101 Princ Tajvan
103 Marija Fernandez purica
105 Jasmin Pariz
110 Faf Weasel Indonezija
120 Rimska raketa Rusija

Sada imamo dva stola Narudžba i Kupac . Tamo je ID kupca stupac zajednički u objema tablicama. Dakle, napišite SQL upit za definiranje općeg odnosa za odabir zapisa podudaranja iz obje tablice.

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

Nakon izvršenja gore navedenog SQL upita, proizvodi sljedeći izlaz:

ID narudžbe Ime kupca Zemlja Ime proizvoda
12025 Princ Tajvan ABC
12030 Jasmin Pariz XYX
12032 Faf Weasel Indonezija XYZ
12035 Rimska raketa Rusija AAA

Vrste SQL spajanja

U SQL-u se koriste različite vrste spojeva:

  1. Unutarnje spajanje / jednostavno spajanje
  2. Lijevi vanjski spoj / Lijevi spoj
  3. Desni vanjski spoj / Desni spoj
  4. Potpuni vanjski spoj
  5. Križni spoj
  6. Self Pridružite se

Unutarnje spajanje

Unutarnje spajanje koristi se za odabir svih odgovarajućih redaka ili stupaca u obje tablice ili sve dok je definirani uvjet valjan u SQL-u.

Sintaksa:

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

Unutarnje spajanje možemo prikazati kroz Vennov dijagram na sljedeći način:

Vrste SQL JOIN

Tablica 1: Studenti

Studentska iskaznica Ime studenta Predmet ID učitelja
101 Aleksandra informatika T201
102 Charles Ekonomija T202
103 Tom Cruise informatika T201
104 Aaron Finch Elektronika T203
105 Sjeme Bajoff Web dizajn T204
106 Christopher Engleska književnost T205
107 Traper Modni dizajner T206

Tablica 2: Učitelji

ID učitelja Ime učitelja E-pošta učitelja
T201 gospodine Davis [e-mail zaštićen]
T202 gospođo Jonas [e-mail zaštićen]
T201 gospodine Davis [e-mail zaštićen]
T204 gospođo Lopez [e-mail zaštićen]
T205 gospođo Wiley [e-mail zaštićen]
T206 Mr Bean [e-mail zaštićen]

Imamo dva stola: Studenti i Učitelji Stolovi. Napišimo SQL upite za spajanje tablice pomoću UNUTARNJI SPOJ kako slijedi:

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

Nakon izvršenja upita, proizvodi se donja tablica.

Vrste SQL JOIN

Prirodni spoj

To je tip unutarnjeg tipa koji spaja dvije ili više tablica na temelju istog naziva stupca i ima isti tip podataka prisutan u obje tablice.

Sintaksa:

 Select * from tablename1 Natural JOIN tablename_2; 

Imamo dva stola: Studenti i Učitelji Stolovi. Napišimo SQL upite za spajanje tablice pomoću Prirodni JOIN kako slijedi:

 Select * from Students Natural JOIN Teachers; 

Nakon izvršenja gornjeg upita, proizvodi sljedeću tablicu.

Vrste SQL JOIN

LIJEVO PRIDRUŽI

The LIJEVO PRIDRUŽI koristi se za dohvaćanje svih zapisa iz lijeve tablice (tablica1) i odgovarajućih redaka ili stupaca iz desne tablice (tablica2). Ako obje tablice ne sadrže podudarne retke ili stupce, vraća NULL.

Sintaksa:

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

Također možemo predstaviti lijevi spoj kroz Vennov dijagram, kako slijedi:

Vrste SQL JOIN

Napomena: U nekim bazama podataka, LEFT JOIN je također poznat kao LEFT OUTER JOIN.

Tablica 1: Product_Details

Identifikacijski broj proizvoda Ime proizvoda Iznos
Pro101 Laptop 56000
Pro102 Mobilni 38000
Pro103 Slušalice 5000
Pro104 Televizija 25000
Pro105 iPad 60000

Tablica 2: Customer_Details

arp-a naredba
Ime kupca Adresa kupca CustomerAge Identifikacijski broj proizvoda
Martin Guptill San Francisco, SAD 26 Pro101
James Australija 29 Pro103
Ambati Williamson Novi Zeland 27 Pro102
Jofra Archer Južna Afrika 24 Pro105
Kate Wiley Australija dvadeset Pro103

Imamo dva stola: Detalji o proizvodu i Detalji_kupca Stolovi. Napišimo SQL upite za spajanje tablice pomoću LIJEVO PRIDRUŽI kako slijedi:

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

Nakon izvršenja upita, daje sljedeću tablicu.

Vrste SQL JOIN

The PRAVO SE PRIDRUŽI koristi se za dohvaćanje svih zapisa iz desne tablice (tablica2) i odgovarajućih redaka ili stupaca iz lijeve tablice (tablica1). Ako obje tablice ne sadrže podudarne retke ili stupce, vraća NULL.

Sintaksa:

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

Pravo spajanje također možemo predstaviti kroz Vennov dijagram, kako slijedi:

Vrste SQL JOIN

Napomena: U nekim bazama podataka RIGHT JOIN je također poznat kao RIGHT OUTER JOIN.

Tablica 1: Product_Details

iskaznica Ime proizvoda Iznos
Pro101 Laptop 56000
Pro102 Mobilni 38000
Pro103 Slušalice 5000
Pro104 Televizija 25000
Pro105 iPad 60000

Tablica 2: Customer_Details

Ime kupca Adresa kupca CustomerAge Identifikacijski broj proizvoda
Martin Guptill San Francisco, SAD 26 Pro101
James Australija 29 Pro103
Ambati Williamson Novi Zeland 27 Pro102
Jofra Archer Južna Afrika 24 Pro105
Znak Engleska 29 Pro107
Morgan Engleska dvadeset Pro108

Imamo dva stola: Detalji o proizvodu i Detalji_kupca Stolovi. Napišimo SQL upite za spajanje tablice pomoću PRAVO SE PRIDRUŽI kako slijedi:

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

Nakon izvršenja upita, proizvodi se donja tablica.

Vrste SQL JOIN

FULL JOIN ili FULL Outer JOIN:

To je skup rezultata kombinacije oba LIJEVO PRIDRUŽI i PRAVO SE PRIDRUŽI . Spojene tablice vraćaju sve zapise iz obje tablice i ako se u tablici ne pronađu podudaranja, postavlja NULL. Također se naziva a POTPUNI VANJSKI SPOJ .

Sintaksa:

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

Ili, POTPUNI VANJSKI SPOJ

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

Puni vanjski spoj također možemo predstaviti kroz Vennov dijagram, kako slijedi:

Vrste SQL JOIN

Tablica 1: Product_Details

iskaznica Ime proizvoda Iznos
Pro101 Laptop 56000
Pro102 Mobilni 38000
Pro103 Slušalice 5000
Pro104 Televizija 25000
Pro105 iPad 60000

Tablica 2: Customer_Details

Ime kupca Adresa kupca CustomerAge Identifikacijski broj proizvoda
Martin Guptill San Francisco, SAD 26 Pro101
James Australija 29 Pro103
Ambati Williamson Novi Zeland 27 Pro102
Jofra Archer Južna Afrika 24 Pro105
Znak Engleska 29 Pro107
Morgan Engleska dvadeset Pro108

Imamo dva stola: Detalji o proizvodu i Detalji_kupca Stolovi. Napišimo SQL upite za spajanje tablice pomoću PUNO PRIDRUŽITE SE na sljedeći način:

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

Nakon izvršenja upita, proizvodi se donja tablica.

Vrste SQL JOIN

Napomena: MySQL ne podržava koncepte FULL JOIN, tako da možemo koristiti klauzulu UNION ALL za kombiniranje obje tablice.

Ovdje je sintaksa za UNIJA SVE Klauzula za kombiniranje tablica.

 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 

Vrste SQL JOIN

KRIŽNI SPOJ

Također je poznat kao KARTEZIJANSKI SPOJ , koji vraća Kartezijev produkt dviju ili više spojenih tablica. The KRIŽNI SPOJ proizvodi tablicu koja spaja svaki red iz prve tablice sa svakim drugim retkom tablice. Nije potrebno uključiti nijedan uvjet u CROSS JOIN.

Sintaksa:

 Select * from table_1 cross join table_2; 

Ili,

 Select column1, column2, column3 FROM table_1, table_2; 

Tablica 1: Product_Details

iskaznica Ime proizvoda Iznos
Pro101 Laptop 56000
Pro102 Mobilni 38000
Pro103 Slušalice 5000
Pro104 Televizija 25000
Pro105 iPad 60000

Tablica 2: Customer_Details

Ime kupca Adresa kupca CustomerAge Identifikacijski broj proizvoda
Martin Guptill San Francisco, SAD 26 Pro101
James Australija 29 Pro103
Ambati Williamson Novi Zeland 27 Pro102
Jofra Archer Južna Afrika 24 Pro105
Znak Engleska 29 Pro107
Morgan Engleska dvadeset Pro108

Imamo dva stola: Detalji o proizvodu i Detalji_kupca Stolovi. Napišimo SQL upite za spajanje tablice pomoću PUNO PRIDRUŽITE SE na sljedeći način:

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

Nakon izvršenja upita, proizvodi se donja tablica.

Vrste SQL JOIN

SAMO PRIDRUŽITE SE

To je SELF JOIN koji se koristi za stvaranje tablice spajanjem same sebe jer postoje dvije tablice. Omogućuje privremeno imenovanje barem jedne tablice u SQL izjavi.

Sintaksa:

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

stol 1 i Tbl2 su dva različita aliasa tablice za istu tablicu.

Tablica 1: Product_Details

iskaznica Ime proizvoda Iznos
Pro101 Laptop 56000
Pro102 Mobilni 38000
Pro103 Slušalice 5000
Pro104 Televizija 25000
Pro105 iPad 60000

Napišimo SQL upite za spajanje tablice pomoću SAMO PRIDRUŽITE SE kako slijedi:

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