Yhdistä kaksi taulukkoa SQL:ssä

Yhdista Kaksi Taulukkoa Sql Ssa



SQL:ssä taulukoiden yhdistäminen tarkoittaa prosessia, jossa kahdesta erillisestä taulukosta tiedot yhdistetään tietyssä tietokannassa yhdeksi yksiköksi yhteisen sarakkeen tai kriteerien perusteella. Kyllä, jos se kuulostaa pöydältä, se on juuri sitä.

Taulukon yhdistäminen tai yhdistäminen on relaatiotietokantojen tunnettu ominaisuus, ja se on uskomattoman tehokas. Sen avulla voimme yhdistää useista lähteistä peräisin olevat tiedot johdonmukaisempien ja merkityksellisempien tietojen luomiseksi. Sen avulla relaatiotietokannat ovat myös erittäin skaalautuvia (ei joustavia), koska voimme jakaa tiedot pienempiin, hallittaviin osiin, joihin voimme viitata myöhemmin.

Tässä opetusohjelmassa käsittelemme taulukkoliitosten tai taulukoiden yhdistämisen perusteita. Katsotaanpa todellisia taulukkonäytteitä tietomme vahvistamiseksi.







Esimerkkitaulukko

Ennen kuin siirrymme pöytäliitosten maailmaan, asetetaan perustaulukot, joita käytämme esittelytarkoituksiin.



Tarkastellaan kahta taulukkoa, jotka sisältävät työntekijät ja palkkatiedot seuraavien esimerkkikyselyiden mukaisesti:



CREATE TABLE työntekijät (

työntekijä_id INT AUTO_INCREMENT PRIMARY KEY,

etunimi VARCHAR( viisikymmentä ),

sukunimi VARCHAR( viisikymmentä ),

osasto VARCHAR( viisikymmentä )

);

Voimme sitten lisätä näytetiedot työntekijän taulukkoon seuraavien kyselyiden mukaisesti:





INSERT INTO työntekijät (etunimi, sukunimi, osasto) ARVOT

( 'Liisa' , 'Smith' , 'Henkilöstöhallinto' ),

( 'Bob' , 'Johnson' , 'Markkinointi' ),

( 'Charlie' , 'Wilson' , 'Rahoittaa' ),

( 'David' , 'Ruskea' , 'Myynti' ),

( 'Eva' , 'Davis' , 'Insinöörityö' );

Jatketaan ja luodaan uusi taulukko palkkatietojen tallentamiseksi seuraavasti:

LUO PÖYTÄ palkat (

salary_id INT AUTO_INCREMENT PRIMARY KEY,

työntekijä_id INT,

palkka DECIMAL( 10 , 2 ),

start_date DATE,

end_date DATE,

ULKOINEN AVAIN (työntekijän_tunnus) REFERENSSIT työntekijää (työntekijän_tunnus)

);

Lisää näytetiedot taulukkoon seuraavasti:



INSERT INTO palkat (työntekijän_tunnus, palkka, aloituspäivä, lopetuspäivä) ARVOT
( 1 , 60 000,00 , '2023-01-01' , '2023-12-31' ),
( 2 , 55 000,00 , '2023-01-01' , '2023-12-31' ),
( 3 , 65 000,00 , '2023-01-01' , '2023-12-31' ),
( 4 , 58000,00 , '2023-01-01' , '2023-12-31' ),
( 5 , 70 000,00 , '2023-01-01' , '2023-12-31' );

Tämän pitäisi tarjota meille kaksi taulukkoa, jotka voivat auttaa meitä havainnollistamaan taulukoiden yhdistämisen/yhdistamisen käsitettä SQL:ssä.

SQL-taulukkojen yhdistäminen/taulukoiden yhdistäminen

Tutkitaan erilaisia ​​taulukoiden yhdistämistyyppejä, joita voimme tehdä. Käsittelemme perusasiat, kun etenemme edistyneempiin.

SISÄLIITTYMINEN

Ensimmäinen ja yleisin taulukkoliitostyyppi SQL:ssä on INNER JOIN. INNER JOIN -toiminnon avulla voimme yhdistää kahden taulukon rivit tietyn ehdon perusteella. Tämä tyyppi palauttaa sitten vain rivit, joissa taulukot vastaavat.

Otetaan esimerkkeinä aiemmin luomamme ”työntekijät” ja ”palkka”-taulukot. Suorittaaksemme INNER JOINin SQL:ssä, käytämme INNER JOIN -lausetta seuraavasti:

VALITSE

e.employee_id,

e.first_name,

e.sukunimi,

e. osasto,

s.palkka

FROM

työntekijät e

INNER JOIN palkat s PÄÄLLÄ

e.työntekijän_tunnus = s.työntekijän_tunnus;

Esitetyssä esimerkkikyselyssä käytämme SISÄLIITTYMÄÄ yhdistämään 'työntekijät' ja 'palkat' -taulukot sarakkeessa 'employee_id', joka on molemmissa taulukoissa. Tuloksena oleva joukko sisältää vain vastaavat rivit molemmista taulukoista.

Esimerkkituloste on seuraava:

LEFT OUTTER JOIN

Meillä on myös LEFT OUTER JOIN, joka yhdistää kaikki rivit vasemmasta taulukosta ja vastaavat rivit oikeasta taulukosta. Jos oikeanpuoleisessa taulukossa ei ole vastaavuutta, liitos käyttää NULL-arvoa.

VALITSE

e.employee_id,

e.first_name,

e.sukunimi,

e. osasto,

s.palkka

FROM

työntekijät e

LEFT JOIN palkat s

PÄÄLLÄ

e.työntekijän_tunnus = s.työntekijän_tunnus;

Tässä esimerkissä suoritamme LEFT OUTTER JOIN -toiminnon 'työntekijät'- ja 'palkat'-taulukoiden yhdistämiseksi. Kaikki 'työntekijät' -taulukon rivit sisältyvät ja vastaavat rivit 'palkat' -taulukosta on lisätty. Kuitenkin NULL-arvot sisältyvät 'palkka'-sarakkeeseen, jos rivit eivät täsmää.

SQL UNIONIN

Toinen tapa yhdistää taulukot SQL:ssä on käyttää UNION-operaattoria. Tämän operaattorin avulla voimme yhdistää kahden tai useamman valitun lauseen tulokset yhdeksi tulosjoukoksi.

Kunkin SELECT-käskyn sarakkeilla on oltava sama tietotyyppi, jotta liittoa voidaan soveltaa.

Esimerkki on seuraava:

SELECT työntekijän_tunnus , etunimi , sukunimi , osasto , NULL AS palkka

työntekijöiltä e

LIITTO

SELECT työntekijän_tunnus , NULL AS etunimi , NULL AS sukunimi , NULL AS osasto , palkka

palkoista s ;

Tässä tapauksessa UNIONI yhdistää 'työntekijät' ja 'palkat' taulukot. Luomme sitten NULL-sarakkeet jokaiseen SELECT-käskyyn varmistaaksemme, että molemmissa taulukoissa on sama määrä sarakkeita.

UNIONIT ovat teknisesti yleisiä, mutta niistä voi olla hyötyä varsinkin silloin, kun sinun on yhdistettävä eri rakenteellisia taulukoita.

Johtopäätös

Tässä opetusohjelmassa tutkimme kahden taulukon yhdistämisen/yhdistettämisen perusteita yhdeksi tulosjoukoksi. On hyvä pitää mielessä, että tässä viestissä käsitellään paljon edistyneempiä liittymiä.