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
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ä.

Tässä on joitakin tärkeitä asioita, jotka tulee tietää käytettäessä UNION-lausetta:

  1. Sarakkeiden määrä ja järjestys: Kaikissa kyselyissä, jotka yhdistetään UNION-lauseella, 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.

Jotta ymmärtäisit paremmin kuinka taulukoita yhdistetään oikein UNION-lauseella, otin mukaan lisätaulukon, joka sisältää tietoa contractors-henkilöistä.

Tässä ei ole paljon tietoa, 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 ja esimerkiksi tarkastella listaa kaikista yrityksen työntekijöistä ja alihankkijoista nimien ja sukunimien perusteella.

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ä tässä 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. Nimeämme myös Id-sarakkeen uudelleen, jotta molemmissa kyselyissä on samat sarakenimet.

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ämällä ORDER BY -lausetta.

Huomio

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

UNION-lauseen käytön jälkeen saamme "yhden suuren kyselyn", jota voidaan edelleen käsitellä esimerkiksi ORDER BY -lauseella.

Emme voi käyttää suoraan WHERE- tai GROUP BY -lauseita tauluissa, jotka on yhdistetty UNION-operaattorilla. Näiden lauseiden käyttämiseksi meidän täytyy käyttää alikyselyä FROM-osiossa. Tässä esimerkki siitä, miten tämä tehdään:

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 tuntua hankalalta, mutta tämän hallitseminen helpottaa monimutkaisten kyselyiden kirjoittamista huomattavasti.

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

2. Miten UNION-lause käsittelee oletuksena päällekkäiset rivit?

question mark

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

Select the correct answer

question mark

Miten UNION-lause käsittelee oletuksena päällekkäiset rivit?

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

Suggested prompts:

Can you explain the difference between UNION and UNION ALL?

How do I know when to use a subquery with UNION?

Can you show more examples of using UNION with different tables?

Awesome!

Completion rate improved to 4

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ä.

Tässä on joitakin tärkeitä asioita, jotka tulee tietää käytettäessä UNION-lausetta:

  1. Sarakkeiden määrä ja järjestys: Kaikissa kyselyissä, jotka yhdistetään UNION-lauseella, 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.

Jotta ymmärtäisit paremmin kuinka taulukoita yhdistetään oikein UNION-lauseella, otin mukaan lisätaulukon, joka sisältää tietoa contractors-henkilöistä.

Tässä ei ole paljon tietoa, 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 ja esimerkiksi tarkastella listaa kaikista yrityksen työntekijöistä ja alihankkijoista nimien ja sukunimien perusteella.

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ä tässä 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. Nimeämme myös Id-sarakkeen uudelleen, jotta molemmissa kyselyissä on samat sarakenimet.

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ämällä ORDER BY -lausetta.

Huomio

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

UNION-lauseen käytön jälkeen saamme "yhden suuren kyselyn", jota voidaan edelleen käsitellä esimerkiksi ORDER BY -lauseella.

Emme voi käyttää suoraan WHERE- tai GROUP BY -lauseita tauluissa, jotka on yhdistetty UNION-operaattorilla. Näiden lauseiden käyttämiseksi meidän täytyy käyttää alikyselyä FROM-osiossa. Tässä esimerkki siitä, miten tämä tehdään:

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 tuntua hankalalta, mutta tämän hallitseminen helpottaa monimutkaisten kyselyiden kirjoittamista huomattavasti.

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

2. Miten UNION-lause käsittelee oletuksena päällekkäiset rivit?

question mark

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

Select the correct answer

question mark

Miten UNION-lause käsittelee oletuksena päällekkäiset rivit?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5
some-alt