SQL-alikyselyt ovat arvokkaita ominaisuuksia, joiden avulla voimme upottaa yhden kyselyn toiseen kyselyyn, mikä lisää tietojen hakemisen ja manipuloinnin merkitystä monimutkaisella tavalla. Sitä käytetään väliaikaisten taulukoiden tai välitulosten määrittämiseen, joita käytetään myöhemmin ulkoisessa kyselyssä.
Alikysely FROM-lauseessa
FROM-lausetta voidaan käyttää alikyselylausekkeen määrittämiseen SQL:ssä. Alikyselyn tuottamaa relaatiota käytetään sitten uutena suhteena, johon ulkoista kyselyä sovelletaan lisätoimintoihin. Alikyselyt kohteessaFROMlauseketta käytetään, kun meidän on luotava väliaikainen tietojoukko, jota ei ole missään fyysisessä taulukossa. Tämä voi olla erittäin hyödyllistä, kun työskentelet monimutkaisten tietojoukkojen kanssa.
npm välimuistin tyhjennysvoima
Ulkoisen kyselyn FROM-lauseessa viitattujen taulukoiden korrelaatiomuuttujia ei voida käyttää suoraan FROM-lauseen alikyselyissä. Alla on kaksi syntaksia alikyselyn käyttämiselle FROM-lauseessa, joita käytetään eri skenaarioissa.
1. Yksinkertainen alikyselyFROMLauseke:
VALITSE sarake1 sarake2
FROM (SELECT sarake_x AS C1 sarake_y FROM-taulukko WHERE ehto) AS alikyselytaulukko
WHERE ulkoinen_ehto;
milloin q2 alkaa
2. AlikyselyFROMLauseke kanssaJOIN:
VALITSE sarake1 sarake2
FROM (SELECT sarake_x AS C1 sarake_y FROM taulukko WHERE PREDICATE_X) AS table2
JOIN table1 ON table2.jokin_sarake = taulukko1.jokin_sarake
MISSÄ PREDIKAATTI;
python __dict__
Parametrit:
- Alakysely : Suluissa oleva sisäinen kysely. Se hakee tiedot, jotka toimivat väliaikaisena taulukkona.
- Alias : Alakyselylle on annettava alias (
subquery_table), johon viitataan ulkoisessa kyselyssä. - Ulkoinen kysely : Ulkoinen kysely voi sitten toimia tämän väliaikaisen taulukon kanssa, joka on luotu alikyselyllä käyttämällä suodattimia tai suorittamalla lisätoimintoja.
Kuinka FROM-lauseen alikyselyt toimivat
- Alakyselyn arviointi : Alikysely from-lauseessa arvioidaan ensin ja sen jälkeen arvioinnin tulokset tallennetaan uuteen väliaikaiseen suhteeseen.
- Ulkoinen kysely : Kun alikysely on suorittanut ja palauttaa tietojoukon, ulompi kysely arvioidaan valitsemalla väliaikaisesta suhteesta vain ne monikot, jotka täyttävät ulomman kyselyn where-lauseen predikaatin.
Esimerkki alikyselyn käyttämisestä FROM-lauseessa
Keskustelemme reaalimaailman esimerkeistä ymmärtääksemme, kuinka FROM-lauseen alikyselyt toimivat käytännössä. Tässä meillä on kaksi pöytää Ohjaaja taulukko, joka sisältää tiedot ohjaajista, mukaan lukien heidän palkansa ja osastonsa. Toinen on osasto taulukko, joka sisältää tiedot eri osastoja, mukaan lukien osaston budjetti.
Ohjaaja Taulukko
| Ohjaajan ID | Nimi | osasto | Palkka |
|---|---|---|---|
| 44547 | Smith | Tietojenkäsittelytiede | 95 000 |
| 44541 | Laskuttaa | Sähkö | 55 000 |
| 47778 | Yksin | Humanistiset tieteet | 44 000 |
| 48147 | Erik | Mekaaninen | 80 000 |
| 411547 | Balm | Tietotekniikka | 65 000 |
| 48898 | Jena | Siviili | 50 000 |
osasto Taulukko
| Osaston nimi | Budjetti |
|---|---|
| Tietojenkäsittelytiede | 100 000 |
| Sähkö | 80 000 |
| Humanistiset tieteet | 50 000 |
| Mekaaninen | 40 000 |
| Tietotekniikka | 90 000 |
| Siviili | 60 000 |
Esimerkki 1: Etsi kaikki professorit, joiden palkka on suurempi kuin kaikkien laitosten keskimääräinen budjetti.
Tässä esimerkissä laskemme FROM-lauseen alikyselyn kaikkien osastojen keskimääräisen budjetin ja teemme sitten vertailun ohjaajien palkkojen kanssa.
Kysely:
java abstrakti luokka
SELECT I.InstructorID I.Name I.Department I.Salary
FROM (SELECT AVG(Budget) AS averageBudget FROM Department) AS BUDGET
Instructor AS I
WHERE I.Salary > BUDGET.averageBudget;
Lähtö
| Ohjaajan ID | Nimi | osasto | Palkka |
|---|---|---|---|
| 44547 | Smith | Tietojenkäsittelytiede | 95 000 |
| 48147 | Erik | Mekaaninen | 80 000 |
Selitys:
- Kaikkien osastojen keskimääräinen budjetti osastosuhteesta on 70 000 euroa.
- Erik ja Smith ovat ainoita ohjaajia ohjaajasuhteessa, joiden palkka on yli 70 000 ja siksi ovat läsnä tuotossuhteessa.
Miksi käyttää alikyselyjä FROM-lauseessa?
Alikyselyiden käyttämisessä FROM-lauseessa on useita etuja, kuten alla on esitetty:
- Yksinkertaistaminen : Ne voivat yksinkertaistaa monimutkaisia kyselyitä jakamalla ne pienempiin, paremmin hallittaviin osiin. Sinun ei tarvitse luoda väliaikaisia taulukoita nimenomaisesti tietokantaan.
- Parempi luettavuus : Alikyselyjen käyttäminen FROM-lauseessa tekee kyselystä luettavamman, koska se jakaa > Joustavuus : Alakyselyjen avulla voit suorittaa toimintoja, jotka muutoin olisivat hankalia, kuten yhdistäminen tai suodatus muiden tietojoukkojen suhteen ilman, että sinun tarvitsee luoda välitaulukoita.
Johtopäätös
FROM-lauseen alikyselyt antavat meille mahdollisuuden määrittää väliaikaiset tulosjoukot joita ulkoiset kyselyt voivat käyttää. Ne helpottavat monimutkaisia SQL-toimintoja, parantavat kyselyiden luettavuutta ja tarjoavat joustavuutta tietojen suodatuksessa ja yhdistämisessä. FROM-lauseen alikyselyjen käyttäminen on jokaisen SQL-ammattilaisen perustaito erityisesti silloin, kun he käsittelevät monimutkaisia tietokantoja tai kun sinun on suoritettava monimutkainen data-analyysi.
Luo tietokilpailu