Beágyazott SQL lekérdezések
Most vissza az adatbázisba „Session”, és úgy neki egy példát a beágyazott lekérdezések.
Segítségével SQL lekérdezést lehet ágyazva egymást. Jellemzően, a belső lekérdezés termel egy értéket, amely be van jelölve a külső lekérdezés predikátum (WHERE vagy HAVING) meghatározó, ez igaz vagy nem. Együtt segédlekérdezésként használhatja EXISTS predikátum, true, ha a kimenet a segédlekérdezés nem üres.
Kombinálva más funkciók a választás az üzemeltető, mint a csoportosítás, al-lekérdezés egy hatékony eszköz, hogy elérjék a kívánt eredményt. Ennek része a FROM záradék SELECT elfogadható a szinonimái a nevét a táblázatban, ha a formáció a kérését, akkor több kell, mint egy példánya a kapcsolatot. Szinonimák vannak beállítva a kulcsszó AS, amely általában elhagyható. Ezért ebből a rész a következőképpen néznek ki:
RL MINT, R AS B
mindkét kifejezés egyenértékű és tekintik az alkalmazás egy SELECT utasítás a két esetben a táblázat R1.
Például megmutatjuk, hogyan kell nézni néhány SQL lekérdezést az adatbázis „Session”:
- A lista azok, akik letették a szükséges vizsgákat.
HOL rang> 2
RENDELKEZŐ COUNT (*) = (SELECT COUNT (*)
WHERE R2.Gruppa = R3.Gruppa ÉS FIOa.FIO)
Itt a beágyazott lekérdezés határozza meg az összes vizsgákat kell tenniük minden diák tanul egy csoportban, amelyben a tanuló megtanulja, és ez a szám számához képest a vizsgák, hogy a hallgató teljesítette.
- A lista azokat, akik, hogy a vizsga az adatbázisban, de még nem került átadásra.
WHERE R2.Fpynna = R3.Gruppa és fegyelem = "DB" ÉS NEM létezik
(SELECT név FROM WHERE name = R a.FIO és fegyelem = "DB")
Állítmány LÉTEZIK (segédlekérdezés) igaz, ha a segédlekérdezés segédlekérdezés nem üres, azaz legalább egy tuple, különben LÉTEZIK állítmány hamis.
Állítmány NEM létezik vissza - igaz, csak akkor, ha a segédlekérdezés segédlekérdezés üres.
Figyeljük meg, hogy nem áll fenn segédlekérdezésként szükségtelenné teszi a működését a különbség kapcsolatok. Például a lekérdezés megfogalmazása a „minden” lehet tenni, mint egy dupla negatív. Vegyünk egy példát bázis, amely szimulálja a külön egyedi alkatrész-beszállítói, ez képviseli aránya SP «Szállítók alkatrészek” a program
SP (Nomer_postavschika. Nomer_detali) P (nomer_detali. Név)
Ez az út megfogalmazott válasz a kérésre, „Find szolgáltatók, hogy a kínálat a részleteket.”
NOMER_POSTAVSCHIKA SELECT elkülönülő SP SP1 HOL NEM létezik
P WHERE NEM létezik
(SELECT * FROM SP SP2
HOL ÉS SR2.nomer_postavschika = SR1.nomer_postavschika
Sőt, már fogalmazni a lekérdezést, mint ez: „Find szolgáltatók, hogy nincsenek olyan alkatrészek, hogy nem szállít.” Meg kell jegyezni, hogy ez a kérés meg lehet valósítani, és az aggregált funkciók segédlekérdezésként:
KIVÁLASZTOTT KÜLÖNÁLLÓ Nomer_postavschika
GROUP BY Nomer_postavschika
RENDELKEZŐ CounKDISTINCT nomer_detali) =
(Select count (nomer_detali)
A szabványos összehasonlító operátorok SQL92 terjeszteni többszörös összehasonlítások esetén bármely és minden kulcsszavakat. Ez a kiterjesztés összehasonlításhoz használt értékekkel egy adott oszlopban adat oszlopban, a visszaküldött allekérdezés.
A kulcsszó MINDEGY szállított bármely predikátum összehasonlítást, azt jelenti, hogy az állítmány igaz, ha legalább egy értéket a segédlekérdezés összehasonlítás állítmány igaz. ALL kulcsszó megköveteli, hogy az összehasonlítás állítmány lenne igaz, ha összehasonlítjuk az összes sorba a segédlekérdezés.
Például, azt látjuk, a diákok, akik sikeresen letették a vizsgálatok értékelését nem alacsonyabb, mint a „jó”. Dolgozunk az azonos adatbázis „Session”, de add, hogy ez egy másik hozzáállás R4, amely jellemzi a változás a laboratóriumi munka során a félév:
R1 = (Lang, Discipline, selejtező);
R4 = (Lang, Fegyelmezés, Nomer_lab_rab, selejtező);
Választás R1 Hol R1.FIO 4> = Összes (Select Rl.Otsenka
Ahol R1.Fio = R11.Fio)
Tekintsük egy másik példa:
Válassza hallgatók pontszám a vizsga nem kevesebb, mint legalább egy értékelést nem szállított a laboratórium működik a fegyelem:
Az R1 Ahol R1.Otsenka> = Bármely (Select R4.Otsenka
Ahol Rl.Distsiplina = R4. Fegyelem és R1.Fio = R4.Fio)
Hírek Fórum
Knights-éter elmélet
Ez Kornilov írta az oldalán a szociális háló.
Szerint Kornilov, majd az üzenetet találkozott hitetlenség.
Most Vladimir Kornilov döntött, hogy visszatér erre a témára, amelyek kapcsán tesz közzé a facebook képek titokzatos izraeliek, akik részt vettek az odesszai mészárlást.
A sok kérdés, hogy Kornilov, azt mondta, szeretne választ kapni, például a következők:
„Miért véletlenül sétált Odesszában az orvosi berendezések, gumikesztyű, ahol már előre tudták, hogy lesz sérült és megölte? Vagy miért ez a harcos hirtelen elfelejtett angolul, amikor rájött, hogy a rekordját?”.
Víz tavak, tengerek, óceánok északi --------- lushariya forgatni az óramutató járásával ellentétes Lc m - p-in-k-i, és a víz a déli polushariya - RA - vezetőképes-oldott -sya- PO- h ász nyíl - Obra-zuya- -Oral-hangya-ski-e-ovo vízmű.
Ennek fő oka a forgatás örvények helyi szél.
Minél nagyobb a szélsebesség nagyobb forgási sebességének pezsgőfürdők és ennek következtében nagyobb centrifugális erő pezsgőfürdők, ezzel is növelve a víz szintje a tengerek és óceánok.
És minél kisebb a centrifugális erő pezsgőfürdők, annál alacsonyabb a vízszint a tengerek és óceánok.
Az áramlási sebesség a kerületét a tengerek és óceánok nem mindenütt egyforma, és függ a mélység a parttól. A sekély részben a tengeri áramlatok sebessége megnő, és a mély része a tenger csökken.
Szezonális ingadozások vízszint karóra tsya nem az egész part a tengerek és az óceánok-s, de csak azokban az partjain, ahol -nagy szögsebessége az áramlások, és következésképpen nagy centrifugális erő a víz. (A centrifugális erő F = v / r).
Az egyenes partok, ahol áram nincs szögsebesség vízszint nem emelkedik.