logo

SQL JOIN -tyypit

SQL JOIN

SQL-liitosta käytetään tietojen (rivien tai sarakkeiden) noutamiseen tai yhdistämiseen kahdesta tai useammasta taulukosta määritettyjen ehtojen perusteella.

Taulukko 1: Järjestys

Tilausnumero Asiakas ID TilauksenNimi Tuotteen nimi
12025 101 Peter ABC
12030 105 Robert XYX
12032 110 James XYZ
12034 115 Andrew PQR
12035 120 Mathew AAA

Taulukko 2: Asiakas

Asiakas ID Asiakkaan nimi Maa
100 Sotkuinen Maxico
101 Prinssi Taiwan
103 Maria Fernandez Turkki
105 Jasmiini Pariisi
110 Faf Weasel Indonesia
120 Rooman raketti Venäjä

Nyt meillä on kaksi pöytää Tilaus ja Asiakas . Tuolla on Asiakas ID sarake on yhteinen molemmissa taulukoissa. Joten kirjoita SQL-kysely määrittääksesi yleinen suhde osumien tietueiden valitsemiseksi molemmista taulukoista.

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

Yllä olevan suorittamisen jälkeen SQL kyselyitä, se tuottaa seuraavan tulosteen:

Tilausnumero Asiakkaan nimi Maa Tuotteen nimi
12025 Prinssi Taiwan ABC
12030 Jasmiini Pariisi XYX
12032 Faf Weasel Indonesia XYZ
12035 Rooman raketti Venäjä AAA

SQL-liittymien tyypit

SQL:ssä käytetään erilaisia ​​liitoksia:

  1. Sisäinen liitos / yksinkertainen liitos
  2. Vasen ulompi liitos / vasen liitos
  3. Oikea ulkoliitos / oikea liitos
  4. Täysi ulkoinen liitos
  5. Liity ristiin
  6. Liity itse

Sisäinen liitos

Sisäliitosta käytetään valitsemaan kaikki vastaavat rivit tai sarakkeet molemmissa taulukoissa tai niin kauan kuin määritetty ehto on voimassa SQL:ssä.

Syntaksi:

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

Voimme esittää sisäliitoksen Venn-kaavion avulla seuraavasti:

SQL JOIN -tyypit

Taulukko 1: Opiskelijat

Opiskelijanumero Opiskelijan nimi Aihe Opettajan ID
101 Alexandra Tietokone Tiede T201
102 Charles Taloustiede T202
103 Tom Cruise Tietokone Tiede T201
104 Aaron Finch Elektroniikka T203
105 Siemen Bajoff Web-suunnittelu T204
106 Christopher Englanninkielinen kirjallisuus T205
107 Denim Muotisuunnittelija T206

Taulukko 2: Opettajat

Opettajan ID Opettajan nimi Opettajan sähköposti
T201 herra Davis [sähköposti suojattu]
T202 Rouva Jonas [sähköposti suojattu]
T201 herra Davis [sähköposti suojattu]
T204 Rouva Lopez [sähköposti suojattu]
T205 Rouva Wiley [sähköposti suojattu]
T206 Herra Bean [sähköposti suojattu]

Meillä on kaksi pöytää: Opiskelijat ja Opettajat Taulukot. Kirjoitetaan SQL-kyselyt liittyäksesi taulukkoon käyttämällä SISÄLIITTYMINEN seuraavasti:

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

Kun kysely on suoritettu, se tuottaa alla olevan taulukon.

SQL JOIN -tyypit

Luonnollinen liittyminen

Se on sisäinen tyyppi, joka yhdistää kaksi tai useampia taulukkoja saman sarakkeen nimen perusteella ja jolla on sama tietotyyppi molemmissa taulukoissa.

Syntaksi:

 Select * from tablename1 Natural JOIN tablename_2; 

Meillä on kaksi pöytää: Opiskelijat ja Opettajat Taulukot. Kirjoitetaan SQL-kyselyt liittyäksesi taulukkoon käyttämällä Luonnollinen LIITTY seuraavasti:

 Select * from Students Natural JOIN Teachers; 

Yllä olevan kyselyn suorittamisen jälkeen se tuottaa seuraavan taulukon.

SQL JOIN -tyypit

LEFT LIITY

The LEFT LIITY käytetään hakemaan kaikki tietueet vasemmasta taulukosta (taulukko1) ja vastaavat rivit tai sarakkeet oikeanpuoleisesta taulukosta (taulukko2). Jos kumpikaan taulukko ei sisällä vastaavia rivejä tai sarakkeita, se palauttaa NULL-arvon.

Syntaksi:

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

Voimme myös esittää vasemman liitoksen Venn-kaavion kautta seuraavasti:

SQL JOIN -tyypit

Huomautus: Joissakin tietokannoista LEFT JOIN tunnetaan myös nimellä LEFT OUTTER JOIN.

Taulukko 1: Tuotetiedot

Tuotekoodi Tuotteen nimi Määrä
Pro101 Kannettava tietokone 56 000
Pro102 mobiili 38 000
Pro103 Kuulokkeet 5000
Pro104 Televisio 25 000
Pro105 iPad 60 000

Taulukko 2: Asiakas_tiedot

muuntaa charista int javaksi
Asiakkaan nimi Asiakasosoite Asiakkaan ikä Tuotekoodi
Martin Guptil San Francisco, USA 26 Pro101
James Australia 29 Pro103
Ambati Williamson Uusi Seelanti 27 Pro102
Jofra Archer Etelä-Afrikka 24 Pro105
Kate Wiley Australia kaksikymmentä Pro103

Meillä on kaksi pöytää: Tuotteen yksityiskohdat ja Asiakkaan tiedot Taulukot. Kirjoitetaan SQL-kyselyt liittyäksesi taulukkoon käyttämällä LEFT LIITY seuraavasti:

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

Kun kysely on suoritettu, se tuottaa seuraavan taulukon.

SQL JOIN -tyypit

The OIKEA LIITTYMINEN käytetään hakemaan kaikki tietueet oikeasta taulukosta (taulukko2) ja vastaavat rivit tai sarakkeet vasemmasta taulukosta (taulukko1). Jos kumpikaan taulukko ei sisällä vastaavia rivejä tai sarakkeita, se palauttaa NULL-arvon.

Syntaksi:

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

Voimme myös esittää oikean liitoksen Venn-kaavion avulla seuraavasti:

SQL JOIN -tyypit

Huomautus: Joissakin tietokannoista RIGHT JOIN tunnetaan myös nimellä RIGHT OUTTER JOIN.

Taulukko 1: Tuotetiedot

ID Tuotteen nimi Määrä
Pro101 Kannettava tietokone 56 000
Pro102 mobiili 38 000
Pro103 Kuulokkeet 5000
Pro104 Televisio 25 000
Pro105 iPad 60 000

Taulukko 2: Asiakas_tiedot

Asiakkaan nimi Asiakasosoite Asiakkaan ikä Tuotekoodi
Martin Guptil San Francisco, USA 26 Pro101
James Australia 29 Pro103
Ambati Williamson Uusi Seelanti 27 Pro102
Jofra Archer Etelä-Afrikka 24 Pro105
Enne Englanti 29 Pro107
Morgan Englanti kaksikymmentä Pro108

Meillä on kaksi pöytää: Tuotteen yksityiskohdat ja Asiakkaan tiedot Taulukot. Kirjoitetaan SQL-kyselyt liittyäksesi taulukkoon käyttämällä OIKEA LIITTYMINEN seuraavasti:

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

Kun kysely on suoritettu, se tuottaa alla olevan taulukon.

SQL JOIN -tyypit

FULL JOIN tai FULL Outer JOIN:

Se on molempien tulosten yhdistelmä LEFT LIITY ja OIKEA LIITTYMINEN . Yhdistetyt taulukot palauttavat kaikki tietueet molemmista taulukoista ja jos taulukosta ei löydy osumia, se asettaa NULL:n. Sitä kutsutaan myös a TÄYDELLINEN ULKOLIITTYMINEN .

Syntaksi:

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

Tai, TÄYDELLINEN ULKOLIITTYMINEN

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

Voimme myös esittää koko ulkoliitoksen Venn-kaavion avulla seuraavasti:

SQL JOIN -tyypit

Taulukko 1: Tuotetiedot

ID Tuotteen nimi Määrä
Pro101 Kannettava tietokone 56 000
Pro102 mobiili 38 000
Pro103 Kuulokkeet 5000
Pro104 Televisio 25 000
Pro105 iPad 60 000

Taulukko 2: Asiakas_tiedot

Asiakkaan nimi Asiakasosoite Asiakkaan ikä Tuotekoodi
Martin Guptil San Francisco, USA 26 Pro101
James Australia 29 Pro103
Ambati Williamson Uusi Seelanti 27 Pro102
Jofra Archer Etelä-Afrikka 24 Pro105
Enne Englanti 29 Pro107
Morgan Englanti kaksikymmentä Pro108

Meillä on kaksi pöytää: Tuotteen yksityiskohdat ja Asiakkaan tiedot Taulukot. Kirjoitetaan SQL-kyselyt liittyäksesi taulukkoon käyttämällä KOKO LIITY seuraavasti:

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

Kun kysely on suoritettu, se tuottaa alla olevan taulukon.

SQL JOIN -tyypit

Huomautus: MySQL ei tue FULL JOIN -käsitteitä, joten voimme käyttää UNION ALL -lausetta yhdistääksesi molemmat taulukot.

Tässä on syntaksi kohteelle UNIONI KAIKKI Lauseke taulukoiden yhdistämisestä.

 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 

SQL JOIN -tyypit

RISTILIITY

Se tunnetaan myös nimellä CARTESIAN JOIN , joka palauttaa kahden tai useamman yhdistetyn taulukon karteesisen tulon. The RISTILIITY tuottaa taulukon, joka yhdistää ensimmäisen taulukon jokaisen rivin jokaiseen toiseen taulukon riviin. Ristiliittymiseen ei vaadita mitään ehtoa.

Syntaksi:

 Select * from table_1 cross join table_2; 

Tai,

 Select column1, column2, column3 FROM table_1, table_2; 

Taulukko 1: Tuotetiedot

ID Tuotteen nimi Määrä
Pro101 Kannettava tietokone 56 000
Pro102 mobiili 38 000
Pro103 Kuulokkeet 5000
Pro104 Televisio 25 000
Pro105 iPad 60 000

Taulukko 2: Asiakas_tiedot

Asiakkaan nimi Asiakasosoite Asiakkaan ikä Tuotekoodi
Martin Guptil San Francisco, USA 26 Pro101
James Australia 29 Pro103
Ambati Williamson Uusi Seelanti 27 Pro102
Jofra Archer Etelä-Afrikka 24 Pro105
Enne Englanti 29 Pro107
Morgan Englanti kaksikymmentä Pro108

Meillä on kaksi pöytää: Tuotteen yksityiskohdat ja Asiakkaan tiedot Taulukot. Kirjoitetaan SQL-kyselyt liittyäksesi taulukkoon käyttämällä KOKO LIITY seuraavasti:

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

Kun kysely on suoritettu, se tuottaa alla olevan taulukon.

SQL JOIN -tyypit

LIITY ITSE

Se on SELF JOIN, jota käytetään taulukon luomiseen yhdistämällä itsensä, koska taulukkoja oli kaksi. Se nimeää väliaikaisesti ainakin yhden taulukon SQL-käskyssä.

Syntaksi:

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

pöytä 1 ja Tbl2 ovat kaksi erilaista taulukkoaliasta samalle taulukolle.

Taulukko 1: Tuotetiedot

ID Tuotteen nimi Määrä
Pro101 Kannettava tietokone 56 000
Pro102 mobiili 38 000
Pro103 Kuulokkeet 5000
Pro104 Televisio 25 000
Pro105 iPad 60 000

Kirjoitetaan SQL-kyselyt liittyäksesi taulukkoon käyttämällä LIITY ITSE seuraavasti:

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