Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
4
Rozdział1:FunkcjeoknawjęzykuSQL
„funkcjiOLAP”.Możliwościfunkcjioknabyłystopnioworozszerzanewkolejnych
wersjachstandardu(wmomenciepublikowaniatejksiążkibyłytowersjeSQL:2003,
SQL:2008orazSQL:2011).NajnowszawersjastandarduSQLobejmujebardzo
zaawansowanąiobszernąspecyfikacjęfunkcjiokna,coświadczyotym,żeorganiza-
cjazatwierdzającastandardpopieratękoncepcję.Jeślidotychczasowytrendsięutrzy-
ma,standardbędzieobejmowałcorazszerszyzestawfunkcjiokienocorazwiększych
możliwościach.
UWAGA
DokumentyzawierającespecyfikacjęstandardujęzykaSQLsądostępnedoku-
pieniawwitrynachorganizacjiISOlubANSI.NaprzykładpodstawowydokumentSQL:2011
możnazakupićwwitrynieANSIpodadresem:http://webstore.ansi.org/RecordDetail.
aspx?sku=ISO%2fIEC+9075-2%3a2011.
StandardowyjęzykSQLwspierakilkatypówfunkcjiokna:agregujące,rankingowe,
rozkładuorazprzesunięcia.Należyjednakpamiętać,żejesttoogólnakoncepcja,
wzwiązkizczymwkolejnychwersjachstandardumogąpojawiaćsięnowetypy
funkcjiokna.
Agregującefunkcjeoknatopowszechnieznanefunkcjeagregującestosowane
zazwyczajwkwerendachgrupujących,takiejakSUM,COUNT,MINczyMAX.Funk-
cjaagregującamusibyćwykonywananazbiorze,którymożebyćdefiniowanyprzy
użyciukwerendygrupującejlubspecyfikacjiokna.WwersjiSQLServer2005wpro-
wadzonezostałoczęściowewsparciedlaagregującychfunkcjiokna,natomiastwwersji
SQLServer2012dodanezostałynowemożliwości.
FunkcjerankingutoRANK,DENSE_RANK,ROW_NUMBERorazNTILE.Obec-
niewdokumentacjistandardudwiepierwszefunkcjenależądoinnejkategoriiniż
dwiekolejne(przyczynytakiejklasyfikacjiwyjaśniępóźniej).Jednakdlauproszczenia
zaliczymywszystkieczteryfunkcjedotejsamejkategorii,podobniejakwoficjalnej
dokumentacjiproduktuSQLServer.Pełnafunkcjonalnośćczterechfunkcjirankingo-
wychzostaławprowadzonajużwwersjiSQLServer2005.
FunkcjerozkładutoPERCENT_RANK,CUME_DIST,PERCENTILE_CONToraz
PERCENTILE_DISC.Wsparciedlatychczterechfunkcjizostałowprowadzonewwer-
sjiSQLServer2012.
FunkcjeprzesunięciatoLAG,LEAD,FIRST_VALUE,LAST_VALUEorazNTH_
VALUE.WwersjiSQLServer2012wprowadzonezostałowsparciedlapierwszych
czterechfunkcji.NatomiastfunkcjaNTH_VALUEniejestdostępnawżadnejwersji
programu,nawetwnajnowszejwersjiSQLServer2012.
Szczegółoweomówienieposzczególnychfunkcjiiichzastosowańprzedstawię
wrozdziale2zatytułowanym„Szczegółoweomówieniefunkcjiokna”.
Większośćnowychkoncepcji,metodczynarzędzi,nawetgdysąonelepsze
iłatwiejszewużyciuniżdotychczasstosowanerozwiązania,spotykasięnapoczątku
zpewnymoporem.Nowerozwiązaniaczęstowydająsięskomplikowane.Abyzachęcić