Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Agregačné funkcie v poddotazy

Agregačné funkcia je užitočná funkcia z Structured Query Language , a zahŕňajú matematické operácie , ktoré počítajú maximálne , priemerné a celkové hodnoty , medzi ostatnými . Ako sám názov napovedá , agregačné funkcie pracuje na celom súboru dát , vracia jednu hodnotu bez ohľadu na počet záznamov , ktoré ste vybrali . Aj keď najčastejšie vidieť agregačné funkcie v hlavnej časti SQL príkazu , môžete ich používať pri poddotazov tiež . Agregačné funkcie

SQL , agregačné funkcie majú do značnej miery štatistický účel . Funkcia AVG ( ) , STDDEV ( ) a rozptyl ( ) , napríklad vypočítať priemer , smerodajnú odchýlku a rozptyl pre sadu čísel . Ďalšie agregačné funkcie pracujú ako na číselné a textové údaje , MIN ( ) a MAX ( ) nájsť najväčšiu hodnotu pre pole databázy , či obsahuje číslo alebo znaky . Funkcie COUNT ( ) vráti počet záznamov vybraných v príkaze SQL . Napríklad nasledujúci príkaz zobrazí počet zákazníkov , Kalifornia v databáze s bilanciou najmenej 1000 dolár :

SELECT COUNT ( * ) FROM zákazníci WHERE state = ' CA ' a vyváženie > = 1000,00 ;

poddotazy

klauzuly WHERE SELECT SQL , UPDATE , DELETE alebo INSERT zužuje počet záznamov príkaz vráti alebo ovplyvňuje . Táto výkonná funkcia vytvára jemne vybrúsených výsledky . Okrem použitia štandardných podmienok , ako je porovnanie poľa na hodnotu literála , môžete použiť SQL je " IN " stave , porovnať poľa do zoznamu hodnôt , ako v nasledujúcom príklade :

SELECT CUSTOMER_ID , názov , stav FROM zákazníkov KDE štátu , v ( " CA " , " NV " , " OR " ) ;

Toto vyhlásenie obsahuje zoznam zákazníkov z Kalifornie , Nevada a Oregon . Poddotaz rozširuje tento koncept ďalej vyplnením hodnôt z príkazu SELECT vnútri hlavnej SELECT , ako ukazuje tento príklad :

SELECT customer_id , meno , stav FROM zákazníci WHERE stav IN ( SELECT DISTINCT štátu , z sales_reps ) ;

Túto voľbu vyberte, displejov zákazníkov , ktorí majú obchodný zástupca v ich stave .
Kamenivo do poddotazov

môžete pridať sofistikovanosti poddotaz pridaním funkciu agregácie . Napríklad môžete chcieť zoznam zákazníkov Nevada s bilanciou väčšia ako najväčšia pre zákazníkov v Kalifornii , ako v tomto príklade :

SELECT customer_id , meno , stav FROM zákazníci WHERE stav = " NV " A zostatok > ( SELECT MAX ( vyváženie ) FROM zákazníkov WHERE stav = ' CA ' ) ;

Vnútorné dotazu určuje maximálny zostatok pre zákazníkov , Kalifornia , a potom ho používa nájsť zákazníkov Nevada s väčšou zostatky
.
korelovaných poddotazy

korelačný poddotaz je ten , ktorý používa rovnaký stôl pre vnútorné a vonkajšie otázok . Vnútorné dotaz odovzdá výsledky na vonkajšie a naopak . Nasledujúci príklad zobrazuje zoznam zákazníkov , ktorých zostatok je vyšší ako priemer :

SELECT CUSTOMER_ID , meno , stav od zákazníkov , c1 WHERE zostatok > ( SELECT AVG ( vyváženie ) od zákazníka c2 WHERE customer_id.c1 = CUSTOMER_ID . c2 ) " . C1 " . " c2 "

Všimnite si , že vonkajšie dotaz používa tabuľku zákazník alias Vnútorné otázka používa prezývky umožňuje dotaze použiť rovnaké tabuľky zákazníka v dvoch rôznych tabuliek < br . >

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené