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
course content

Kurssisisältö

Keskitaso SQL

Keskitaso SQL

1. Ryhmittely
2. Sisäkkäiset Alikyselyt
3. Taulujen Yhdistäminen
4. DDL ja DML SQL:ssä

book
UNION-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
ChatGPT

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

course content

Kurssisisältö

Keskitaso SQL

Keskitaso SQL

1. Ryhmittely
2. Sisäkkäiset Alikyselyt
3. Taulujen Yhdistäminen
4. DDL ja DML SQL:ssä

book
UNION-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
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt