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 sukellamme JOINs-toimintoihin, opitaan UNION-lauseesta, joka on olennainen useiden taulukoiden yhdistämisessä.

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

  1. Sarakkeiden määrä ja järjestys: Kaikissa UNION-lauseella yhdistetyissä kyselyissä on oltava sama määrä sarakkeita samassa järjestyksessä;

  2. Tietotyypit: Jokaisen kyselyn sarakkeiden on oltava yhteensopivia tietotyyppejä;

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

Ymmärtääksesi paremmin kuinka yhdistää taulukoita oikein käyttämällä UNION-lausetta, esittelin lisätaulukon, joka sisältää tietoja contractors.

Täällä ei ole paljon tietoa, vain first_name, last_name ja email.

Voit nähdä, että tällä taulukolla on yhtäläisyyksiä employees-taulukon kanssa. Käyttämällä UNION-lausetta voimme yhdistää nämä kaksi taulukkoa esimerkiksi nähdäksesi luettelon kaikista työntekijöiden ja urakoitsijoiden nimistä ja sukunimistä, jotka ovat mukana yrityksessä.

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 kumpikin palauttavat kolme saraketta samoilla tietotyypeillä. Haluamme nähdä Id, first_name ja last_name kaikista yrityksessä. Nimesimme myös Id-sarakkeen uudelleen, jotta molemmilla kyselyillä on samannimiset sarakkeet.

Sitten käytämme UNION-operaattoria yhdistääksemme kyselyjen tulokset, poistaen duplikaatit (vaikka tässä tapauksessa niitä ei ole).

Lopuksi lajittelemme tulokset Id-sarakkeen mukaan käyttäen ORDER BY -lausetta.

Huomautus

Lajittelemme Id-sarakkeen mukaan, joka on yhteinen sarake molemmissa tauluissa.

Käytettyämme UNION-operaattoria saamme "yhden suuren kyselyn", jota voimme edelleen käsitellä lausekkeilla kuten ORDER BY.

Emme voi suoraan käyttää WHERE tai GROUP BY yhdistetyissä tauluissa, jotka on yhdistetty UNION-lauseella. Näiden lausekkeiden soveltamiseksi meidän on käytettävä alikyselyä FROM-osiossa. Tässä on esimerkki siitä, miten se 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 antaa meille enemmän joustavuutta! Se saattaa vaikuttaa aluksi hankalalta, mutta tämän hallitseminen tekee monimutkaisten kyselyiden kirjoittamisesta paljon helpompaa.

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

2. Kuinka UNION-lause käsittelee oletusarvoisesti päällekkäisiä rivejä?

question mark

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

Select the correct answer

question mark

Kuinka UNION-lause käsittelee oletusarvoisesti 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

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 sukellamme JOINs-toimintoihin, opitaan UNION-lauseesta, joka on olennainen useiden taulukoiden yhdistämisessä.

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

  1. Sarakkeiden määrä ja järjestys: Kaikissa UNION-lauseella yhdistetyissä kyselyissä on oltava sama määrä sarakkeita samassa järjestyksessä;

  2. Tietotyypit: Jokaisen kyselyn sarakkeiden on oltava yhteensopivia tietotyyppejä;

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

Ymmärtääksesi paremmin kuinka yhdistää taulukoita oikein käyttämällä UNION-lausetta, esittelin lisätaulukon, joka sisältää tietoja contractors.

Täällä ei ole paljon tietoa, vain first_name, last_name ja email.

Voit nähdä, että tällä taulukolla on yhtäläisyyksiä employees-taulukon kanssa. Käyttämällä UNION-lausetta voimme yhdistää nämä kaksi taulukkoa esimerkiksi nähdäksesi luettelon kaikista työntekijöiden ja urakoitsijoiden nimistä ja sukunimistä, jotka ovat mukana yrityksessä.

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 kumpikin palauttavat kolme saraketta samoilla tietotyypeillä. Haluamme nähdä Id, first_name ja last_name kaikista yrityksessä. Nimesimme myös Id-sarakkeen uudelleen, jotta molemmilla kyselyillä on samannimiset sarakkeet.

Sitten käytämme UNION-operaattoria yhdistääksemme kyselyjen tulokset, poistaen duplikaatit (vaikka tässä tapauksessa niitä ei ole).

Lopuksi lajittelemme tulokset Id-sarakkeen mukaan käyttäen ORDER BY -lausetta.

Huomautus

Lajittelemme Id-sarakkeen mukaan, joka on yhteinen sarake molemmissa tauluissa.

Käytettyämme UNION-operaattoria saamme "yhden suuren kyselyn", jota voimme edelleen käsitellä lausekkeilla kuten ORDER BY.

Emme voi suoraan käyttää WHERE tai GROUP BY yhdistetyissä tauluissa, jotka on yhdistetty UNION-lauseella. Näiden lausekkeiden soveltamiseksi meidän on käytettävä alikyselyä FROM-osiossa. Tässä on esimerkki siitä, miten se 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 antaa meille enemmän joustavuutta! Se saattaa vaikuttaa aluksi hankalalta, mutta tämän hallitseminen tekee monimutkaisten kyselyiden kirjoittamisesta paljon helpompaa.

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

2. Kuinka UNION-lause käsittelee oletusarvoisesti päällekkäisiä rivejä?

question mark

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

Select the correct answer

question mark

Kuinka UNION-lause käsittelee oletusarvoisesti päällekkäisiä rivejä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 5
some-alt