Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Union-lauseke | Sisäkkäiset Alikyselyt
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Keskitaso SQL

bookUnion-lauseke

Olemme herättäneet asiakkaan huomion, joka tarvitsee SQL-kyselyitä. Ennen kuin siirrymme JOINs-lauseisiin, tutustutaan UNION-lauseeseen, joka on olennainen useiden taulukoiden yhdistämisessä.

Note
Määritelmä

UNION SQL:ssä yhdistää kahden tai useamman SELECT-kyselyn tulokset yhdeksi tulosjoukoksi. Sen avulla voidaan yhdistää useiden kyselyiden rivit yhdeksi tietojoukoksi.

Tässä on joitakin tärkeitä asioita, jotka tulee tietää UNION-lauseen käytöstä:

  1. Sarakkeiden määrä ja järjestys: Kaikissa UNION-lauseella yhdistettävissä kyselyissä tulee olla sama määrä sarakkeita samassa järjestyksessä;

  2. Tietotyypit: Jokaisen kyselyn sarakkeiden tulee olla yhteensopivia tietotyypeiltään;

  3. Uniikit rivit: Oletuksena UNION poistaa päällekkäiset rivit. Käytä UNION ALL, jos haluat säilyttää duplikaatit.

Ymmärtääksesi paremmin kuinka tauluja yhdistetään oikein käyttämällä UNION-lausetta, esittelin lisätaulun, joka sisältää tietoja contractors-taulusta.

Tässä taulussa ei ole paljon tietoja, vain first_name, last_name ja email.

Voit huomata, että tämä taulu muistuttaa employees-taulua. Käyttämällä UNION-lausetta voimme yhdistää nämä kaksi taulua esimerkiksi nähdäksemme luettelon kaikista yrityksen työntekijöiden ja urakoitsijoiden nimistä ja sukunimistä.

Tätä varten käytämme UNION-lausetta:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Käydään läpi, mitä tapahtuu:

Meillä on kaksi kyselyä, jotka molemmat palauttavat kolme saraketta samoilla tietotyypeillä. Haluamme nähdä kaikkien yrityksen henkilöiden Id, first_name ja last_name. Olemme myös nimenneet Id-sarakkeen uudelleen, jotta molemmissa kyselyissä on samannimiset sarakkeet.

Sen jälkeen käytämme UNION-lausetta yhdistääksemme kyselyiden tulokset, jolloin kaksoiskappaleet poistetaan (tässä tapauksessa niitä ei ole).

Lopuksi järjestämme tulokset Id-sarakkeen mukaan käyttäen ORDER BY -lausetta.

Note
Huomio

Järjestämme tulokset Id-sarakkeen mukaan, joka on yhteinen sarake molemmissa tauluissa.

UNION-lauseen jälkeen saadaan "yksi suuri kysely", jota voidaan edelleen käsitellä esimerkiksi ORDER BY -lauseella.

Emme voi käyttää suoraan WHERE- tai GROUP BY -lauseita tauluissa, jotka on yhdistetty UNION-operaatiolla. Näiden lauseiden käyttämiseksi tulee hyödyntää alikyselyä FROM-osiossa. Alla on esimerkki tämän toteuttamisesta:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

Alikyselyn käyttäminen FROM-osiossa tarjoaa enemmän joustavuutta. Tämä voi aluksi vaikuttaa haastavalta, mutta tämän hallitseminen helpottaa monimutkaisten kyselyiden kirjoittamista huomattavasti.

1. Mitkä sarakkeet vaaditaan käytettäessä UNION-lausetta SQL:ssä?

2. Miten UNION-lause käsittelee oletuksena päällekkäisiä rivejä?

question mark

Mitkä sarakkeet vaaditaan käytettäessä UNION-lausetta SQL:ssä?

Select the correct answer

question mark

Miten UNION-lause käsittelee oletuksena päällekkäisiä rivejä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookUnion-lauseke

Pyyhkäise näyttääksesi valikon

Olemme herättäneet asiakkaan huomion, joka tarvitsee SQL-kyselyitä. Ennen kuin siirrymme JOINs-lauseisiin, tutustutaan UNION-lauseeseen, joka on olennainen useiden taulukoiden yhdistämisessä.

Note
Määritelmä

UNION SQL:ssä yhdistää kahden tai useamman SELECT-kyselyn tulokset yhdeksi tulosjoukoksi. Sen avulla voidaan yhdistää useiden kyselyiden rivit yhdeksi tietojoukoksi.

Tässä on joitakin tärkeitä asioita, jotka tulee tietää UNION-lauseen käytöstä:

  1. Sarakkeiden määrä ja järjestys: Kaikissa UNION-lauseella yhdistettävissä kyselyissä tulee olla sama määrä sarakkeita samassa järjestyksessä;

  2. Tietotyypit: Jokaisen kyselyn sarakkeiden tulee olla yhteensopivia tietotyypeiltään;

  3. Uniikit rivit: Oletuksena UNION poistaa päällekkäiset rivit. Käytä UNION ALL, jos haluat säilyttää duplikaatit.

Ymmärtääksesi paremmin kuinka tauluja yhdistetään oikein käyttämällä UNION-lausetta, esittelin lisätaulun, joka sisältää tietoja contractors-taulusta.

Tässä taulussa ei ole paljon tietoja, vain first_name, last_name ja email.

Voit huomata, että tämä taulu muistuttaa employees-taulua. Käyttämällä UNION-lausetta voimme yhdistää nämä kaksi taulua esimerkiksi nähdäksemme luettelon kaikista yrityksen työntekijöiden ja urakoitsijoiden nimistä ja sukunimistä.

Tätä varten käytämme UNION-lausetta:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Käydään läpi, mitä tapahtuu:

Meillä on kaksi kyselyä, jotka molemmat palauttavat kolme saraketta samoilla tietotyypeillä. Haluamme nähdä kaikkien yrityksen henkilöiden Id, first_name ja last_name. Olemme myös nimenneet Id-sarakkeen uudelleen, jotta molemmissa kyselyissä on samannimiset sarakkeet.

Sen jälkeen käytämme UNION-lausetta yhdistääksemme kyselyiden tulokset, jolloin kaksoiskappaleet poistetaan (tässä tapauksessa niitä ei ole).

Lopuksi järjestämme tulokset Id-sarakkeen mukaan käyttäen ORDER BY -lausetta.

Note
Huomio

Järjestämme tulokset Id-sarakkeen mukaan, joka on yhteinen sarake molemmissa tauluissa.

UNION-lauseen jälkeen saadaan "yksi suuri kysely", jota voidaan edelleen käsitellä esimerkiksi ORDER BY -lauseella.

Emme voi käyttää suoraan WHERE- tai GROUP BY -lauseita tauluissa, jotka on yhdistetty UNION-operaatiolla. Näiden lauseiden käyttämiseksi tulee hyödyntää alikyselyä FROM-osiossa. Alla on esimerkki tämän toteuttamisesta:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

Alikyselyn käyttäminen FROM-osiossa tarjoaa enemmän joustavuutta. Tämä voi aluksi vaikuttaa haastavalta, mutta tämän hallitseminen helpottaa monimutkaisten kyselyiden kirjoittamista huomattavasti.

1. Mitkä sarakkeet vaaditaan käytettäessä UNION-lausetta SQL:ssä?

2. Miten UNION-lause käsittelee oletuksena päällekkäisiä rivejä?

question mark

Mitkä sarakkeet vaaditaan käytettäessä UNION-lausetta SQL:ssä?

Select the correct answer

question mark

Miten UNION-lause käsittelee oletuksena päällekkäisiä rivejä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5
some-alt