Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00605 008845 10482267 na godz. na dobę w sumie
SQL w mgnieniu oka - książka
SQL w mgnieniu oka - książka
Autor: Liczba stron: 248
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-469-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> sql - programowanie
Porównaj ceny (książka, ebook, audiobook).

Każde zagadnienie do opanowania w 10 minut

Na temat języka SQL napisano już wiele książek. Wiele z nich, o niekwestionowanej jakości, obarcza jednak czytelnika mnogością dodatkowych informacji na temat teorii relacyjnych baz danych, ich projektowania i administrowania nimi. Mimo fundamentalnego znaczenia tych zagadnień użytkownik chciałby jednak skupić się na szczegółach samego języka SQL, poczynając od jego najprostszych elementów, by dopiero później, w miarę doskonalenia swej wiedzy i poznawania coraz bardziej złożonych elementów SQL sięgnąć do tematyki o charakterze bardziej ogólnym. Niniejsza książka jest wolna od opisanego syndromu, a każdy z jej rozdziałów czyta się w ciągu 10 minut. Pasjonująca przygoda z językiem SQL rozpoczyna się już w pierwszym rozdziale; w kolejnych Czytelnik zapoznaje się z coraz bardziej złożonymi zagadnieniami, jak:

Przykładową bazę danych możesz pobrać TUTAJ.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI SQL w mgnieniu oka KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG Autor: Ben Forta T³umaczenie: Rafa³ Joñca, Paulina Sobaġ ISBN: 83-7361-469-9 Tytu³ orygina³u: Teach Yourself SQL in 10 Minutes, 2nd Edition Format: B5, stron: 248 TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Na temat jêzyka SQL napisano ju¿ wiele ksi¹¿ek. Wiele z nich, o niekwestionowanej jakoġci, obarcza jednak czytelnika mnogoġci¹ dodatkowych informacji na temat teorii relacyjnych baz danych, ich projektowania i administrowania nimi. Mimo fundamentalnego znaczenia tych zagadnieñ u¿ytkownik chcia³by jednak skupiæ siê na szczegó³ach samego jêzyka SQL, poczynaj¹c od jego najprostszych elementów, by dopiero póĥniej, w miarê doskonalenia swej wiedzy i poznawania coraz bardziej z³o¿onych elementów SQL siêgn¹æ do tematyki o charakterze bardziej ogólnym. Niniejsza ksi¹¿ka jest wolna od opisanego syndromu, a ka¿dy z jej rozdzia³ów czyta siê w ci¹gu 10 minut. Pasjonuj¹ca przygoda z jêzykiem SQL rozpoczyna siê ju¿ w pierwszym rozdziale; w kolejnych Czytelnik zapoznaje siê z coraz bardziej z³o¿onymi zagadnieniami, jak: • Podstawowe elementy baz danych — tabele, kolumny, wiersze i klucze • Pobieranie danych z tabeli i ich sortowanie • Filtrowanie danych za pomoc¹ fraz WHERE i operatorów AND, OR, IN, NOT i LIKE • Tworzenie unii • Wstawianie, aktualizacja i usuwanie danych • Tworzenie i modyfikowanie tabel • Tworzenie i wykorzystywanie perspektyw • Wykorzystywanie procedur zapamiêtanych • Zarz¹dzanie transakcjami • Indeksowanie i powi¹zania miêdzy tabelami za pomoc¹ kluczy • Zastosowanie jêzyka SQL na gruncie Visual C++ i Visual Basica oraz popularnych systemów baz danych, jak SQL Server 6x, 7 i 2000, MS Access, MS Query i MS ASP Spis treści O Autorze.......................................................................8 Wprowadzenie ................................................................9 Rozdział 1. Podstawy języka SQL....................................................13 Podstawy baz danych ...................................................b......................... 13 Język SQL ...................................................b.......................................... 18 Ćwicz ...................................................b................................................. 19 Podsumowanie ...................................................b................................... 19 Rozdział 2. Pobieranie danych ........................................................21 Instrukcja SELECT ...................................................b............................ 21 Pobranie konkretnej kolumny ...................................................b............ 22 Pobranie wielu kolumn ...................................................b...................... 23 Pobranie wszystkich kolumn ...................................................b............. 24 Podsumowanie ...................................................b................................... 25 Rozdział 3. Sortowanie otrzymywanych danych ..............................27 Sortowanie danych...................................................b............................. 27 Sortowanie względem wielu kolumn...................................................b. 29 Sortowanie względem położenia kolumny ........................................... 30 Określenie kierunku sortowania...................................................b......... 31 Podsumowanie ...................................................b................................... 33 Rozdział 4. Filtrowanie danych .......................................................35 Stosowanie frazy WHERE...................................................b................. 35 Operatory frazy WHERE ...................................................b................... 36 Podsumowanie ...................................................b................................... 40 Rozdział 5. Zaawansowane filtrowanie danych ...............................41 Łączenie fraz WHERE...................................................b....................... 41 Operator IN ...................................................b........................................ 45 Operator NOT ...................................................b.................................... 46 Podsumowanie ...................................................b................................... 48 4 SQL w mgnieniu oka Rozdział 6. Filtrowanie za pomocą znaków wieloznacznych.............49 Korzystanie z operatora LIKE ...................................................b........... 49 Wskazówki dotyczące używania znaków wieloznacznych .................. 54 Podsumowanie ...................................................b................................... 54 Rozdział 7. Tworzenie pól obliczanych............................................55 Pojęcie pól obliczanych ...................................................b..................... 55 Konkatenacja pól...................................................b................................ 56 Przeprowadzanie obliczeń matematycznych ........................................ 62 Podsumowanie ...................................................b................................... 63 Rozdział 8. Modyfikacja danych za pomocą funkcji ........................65 Czym są funkcje...................................................b................................. 65 Stosowanie funkcji...................................................b............................. 67 Podsumowanie ...................................................b................................... 73 Rozdział 9. Funkcje agregujące ......................................................75 Funkcje agregujące ...................................................b............................ 75 Agregacja tylko różnorodnych wartości ............................................... 81 Łączenie funkcji agregujących...................................................b........... 83 Podsumowanie ...................................................b................................... 83 Rozdział 10. Grupowanie danych ......................................................85 Omówienie grupowania danych...................................................b......... 85 Tworzenie grup ...................................................b.................................. 86 Filtrowanie grup...................................................b................................. 88 Grupowanie i sortowanie ...................................................b................... 90 Kolejność fraz instrukcji SELECT ...................................................b.... 92 Podsumowanie ...................................................b................................... 92 Rozdział 11. Zapytania zagnieżdżone ...............................................93 Zagnieżdżanie zapytań...................................................b....................... 93 Filtrowanie na podstawie zapytań zagnieżdżonych .............................. 94 Zapytania zagnieżdżone jako pola obliczane........................................ 97 Podsumowanie ...................................................b................................... 99 Rozdział 12. Łączenie tabel ............................................................101 Czym są złączenia? ...................................................b.......................... 101 Tworzenie złączeń...................................................b............................ 104 Podsumowanie ...................................................b................................. 110 Rozdział 13. Tworzenie rozbudowanych złączeń..............................111 Stosowanie aliasów tabel ...................................................b................. 111 Typy złączeń ...................................................b.................................... 113 Złączenia i funkcje agregujące...................................................b......... 119 Złączenia i ich warunki ...................................................b.................... 120 Podsumowanie ...................................................b................................. 120 Rozdział 14. Łączenie zapytań ........................................................121 Łączenie zapytań...................................................b.............................. 121 Tworzenie unii ...................................................b................................. 122 Podsumowanie ...................................................b................................. 126 Spis treści 5 Rozdział 15. Wstawianie danych ....................................................127 Wstawianie danych ...................................................b.......................... 127 Kopiowanie z jednej tabeli do innej...................................................b. 133 Podsumowanie ...................................................b................................. 134 Rozdział 16. Aktualizacja i usuwanie danych .................................135 Aktualizacja danych...................................................b......................... 135 Usuwanie danych ...................................................b............................. 137 Wskazówki związane z aktualizacją lub usuwaniem danych ............. 138 Podsumowanie ...................................................b................................. 139 Rozdział 17. Tworzenie i modyfikacja tabel ....................................141 Tworzenie tabel...................................................b................................ 141 Aktualizacja tabel...................................................b............................. 147 Usuwanie tabel...................................................b................................. 148 Zmiana nazwy tablicy ...................................................b...................... 149 Podsumowanie ...................................................b................................. 149 Rozdział 18. Stosowanie perspektyw.............................................151 Perspektywy ...................................................b..................................... 151 Tworzenie widoków...................................................b......................... 154 Podsumowanie ...................................................b................................. 160 Rozdział 19. Korzystanie z zapamiętanych procedur .......................161 Zapamiętane procedury...................................................b.................... 161 Dlaczego warto używać zapamiętanych procedur .............................. 162 Wykonywanie zapamiętanych procedur ............................................. 164 Tworzenie zapamiętanych procedur ...................................................b 165 Podsumowanie ...................................................b................................. 168 Rozdział 20. Zarządzanie transakcjami ..........................................169 Działanie transakcji...................................................b.......................... 169 Sterowanie transakcjami ...................................................b.................. 171 Podsumowanie ...................................................b................................. 175 Rozdział 21. Kursory ......................................................................177 Działanie kursorów ...................................................b.......................... 177 Praca z kursorami...................................................b............................. 178 Podsumowanie ...................................................b................................. 182 Rozdział 22. Zaawansowane funkcje języka SQL ............................183 Ograniczenia ...................................................b.................................... 183 Omówienie indeksów...................................................b....................... 189 Wyzwalacze ...................................................b..................................... 191 Bezpieczeństwo baz danych...................................................b............. 193 Podsumowanie ...................................................b................................. 194 Dodatek A Skrypty przykładowych tabel......................................195 Omówienie przykładowych tabel...................................................b..... 195 Tworzenie przykładowych tabel ...................................................b...... 199 Wypełnienie przykładowych tabel...................................................b...... 202 6 SQL w mgnieniu oka Dodatek B Praca z popularnymi aplikacjami ................................213 Konfiguracja źródeł danych ODBC...................................................b.... 213 Allaire ColdFusion...................................................b........................... 215 Allaire JRun 3.x ...................................................b............................... 215 DB2 ...................................................b.................................................. 216 Informix Dynamic Server 7.x ...................................................b.......... 216 Microsoft Access...................................................b.............................. 217 Microsoft ASP...................................................b.................................. 218 Microsoft Query...................................................b............................... 219 Microsoft SQL Server 6.x...................................................b................ 220 Microsoft SQL Server 7...................................................b................... 220 Microsoft SQL Server 2000...................................................b............. 221 Microsoft Visual Basic...................................................b..................... 221 Microsoft Visual C++ ...................................................b...................... 222 Oracle 8 ...................................................b............................................ 223 Query Tool ...................................................b....................................... 223 Sybase ...................................................b.............................................. 224 Dodatek C Składnia instrukcji SQL..............................................225 ALTER TABLE...................................................b............................... 225 COMMIT ...................................................b......................................... 226 CREATE INDEX...................................................b............................. 226 CREATE PROCEDURE ...................................................b................. 226 CREATE TABLE ...................................................b............................ 227 CREATE VIEW...................................................b............................... 227 DELETE...................................................b........................................... 227 DROP ...................................................b............................................... 228 INSERT...................................................b............................................ 228 INSERT SELECT ...................................................b............................ 228 ROLLBACK ...................................................b.................................... 229 SELECT ...................................................b........................................... 229 UPDATE...................................................b.......................................... 229 Dodatek D Typy danych języka SQL.............................................231 Tekstowe typy danych ...................................................b..................... 232 Numeryczne typy danych...................................................b................. 233 Typy danych daty i czasu...................................................b................. 234 Binarne typy danych ...................................................b........................ 235 Dodatek E Słowa kluczowe języka SQL .......................................237 Skorowidz ..................................................................241 Rozdział 10. Grupowanie danych W tym rozdziale opisana jest funkcja grupowania danych, która umożliwia podsumowywanie podzbiorów tabeli. Wprowadzone są też dwie nowe frazy instrukcji 5 . 6: )4172$; i *#8+0). Omówienie grupowania danych W poprzednim rozdziale opisywałem funkcje agregujące języka SQL używane do tworzenia podsumowań danych. Umożliwiały one zliczanie wierszy, obli- czanie sumy i średniej, a także znajdowanie wartości największej i najmniej- szej. Wszystko to odbywało się bez potrzeby pobieraniia wszystkich danych. Do tej pory obliczenia przeprowadzane były na wszystkich danych w tabeli, lub na danych spełniających warunek określony we frazie 9* 4 . Oto krótkie przypomnienie — poniższy przykład zwraca wszystkie produkty oferowane przez dostawcę ..: 5 . 6 1706 #5NKEDCARTQF (41/2TQFWMV[ 9* 4 FQUVAKF ..  NKEDCARTQF   86 SQL w mgnieniu oka W jaki sposób pobrać liczbę produktów oferowanych przez poszczególnych producentów? Jak uzyskać dane dotyczące tylko tych producentów, którzy ofe- rują jeden produkt lub oferują powyżej 10 produktów? W takiej sytuacji niezastąpione jest grupowanie. Umożliwia ono podzielenie danych na logiczne zbiory i przeprowadzenie funkcji agregujących na każdej z grup osobno. Tworzenie grup Grupy tworzy się za pomocą frazy )4172 $; w instrukcji 5 . 6. Najłatwiej zrozumieć to na przykładzie: 5 . 6FQUVAKF 1706 #5NKEDCARTQF (41/2TQFWMV[ )4172$;FQUVAKF FQUVAKFNKEDCARTQF  $45 .. (0) Powyższa instrukcja 5 . 6 określa dwie kolumny, FQUVAKF (która zawiera identyfikator dostawcy) i NKEDCARTQF (która jest polem obliczanym za pomocą funkcji agregującej 1706 . Fraza )4172$; sprawia, że SZBD sortuje wy- niki i grupuje je względem FQUVAKF. Powoduje to obliczanie NKEDCARTQF dla każdego unikalnego FQUVAKF, zamiast zbiorowo dla całej tabeli. W ten sposób można się dowiedzieć, iż dostawca $45 oferuje 3 produkty, dostawca .. 4 produkty, a dostawca (0) 2 produkty. Ponieważ pojawiła się fraza )4172$;, nie trzeba było określać każdej grupy, by poznać jej wartość. Wszystko zostało wykonane automatycznie. Fraza )4172$; powoduje, że system zarządzania najpierw grupuje dane, a następnie przepro- wadza funkcję agregującą osobno dla każdej grupy, zamiast dla wszystkich wyników. Rozdział 10. ♦ Grupowanie danych 87 Zanim jednak rozpocznie się stosowanie frazy )4172$;, warto dokładniej po- znać jej działanie:  Fraza )4172$; może zawierać dowolną liczbę kolumn. Umożliwia to tworzenie zagnieżdżonych grup, a tym samym bardzieji szczegółowe opracowywanie danych.  W przypadku wprowadzenia kilku nazw kolumn we fraziie, dane podsumowywane są dla ostatniej określonej kolumny (dila jej grup). Oznacza to, że nie jest możliwe uzyskanie danych dlia wszystkich wymienionych kolumn.  Wszystkie kolumny wymienione we frazie )4172$; muszą być kolumnami pobieranymi z bazy lub pełnymi wyrażeniaimi (ale nie funkcjami agregującymi). Jeśli wyrażenie występuje poi 5 . 6, w takiej samej postaci musi się znaleźć we frazie )4172$;. Nie można w tym wypadku stosować aliasów.  Większość implementacji SQL nie dopuszcza, aby we fraziie )4172$; znalazły się kolumny typów danych o zmiennej długościi (na przykład pola tekstowe lub memo).  Wszystkie kolumny występujące w instrukcji 5 . 6 muszą się także znaleźć we frazie )4172$; (nie dotyczy to funkcji agregujących).  Jeśli grupowana kolumna zawiera wiersz z wartością 07.., powstanie osobna grupa o nazwie 07... Jeśli istnieje kilka wierszy o wartości 07.., zostaną one scalone w jedną grupę.  W przypadku występowania dodatkowych fraz, funkcja i)4172$; musi się pojawić po frazie 9* 4 , ale przed 14 4$;. Fraza #... Pewne implementacje SQL (na przykład Microsoft SQL Server) obsługują opcjonalną frazę #.. dla )4172$;. Fraza ta mo- że posłużyć do zwrócenia wszystkich grup, nawet tych, dla których agregacja spowodowałaby zwrócenie wartości 07... Szczegółów należy szukać w dokumentacji SZBD. Określanie kolumn za pomocą położeń względnych. Niektóre im- plementacje SQL umożliwiają podanie we frazie )4172$; położeń kolumn z listy 5 . 6. Można wtedy na przykład napisać )4172$; , aby grupowanie najpierw odbyło się względem drugiej kolumny, a następnie pierwszej. Choć ten skrótowy zapis jest bardzo ku- szący, nie obsługują go wszystkie implementacje, a dodatkowo niesie ze sobą ryzyko pojawienia się błędów po zmianie kolejności kolumn. C:AndrzejPDFSQL w mgnieniu oka 10-06.doc (04-05-28) 87 88 SQL w mgnieniu oka Filtrowanie grup Poza samą możliwością grupowania danych, język SQL oferuje także filtro- wanie na podstawie danych zebranych dla poszczególnych grup. Na przykład można wyświetlić wszystkich klientów, którzy dokonali przynajmniej dwóch zamówień. Takie filtrowanie musi się odbywać wobec pełnych grup, a nie po- szczególnych wierszy. Nie jest możliwe posłużenie się tutaj frazą 9* 4 opisaną w rozdziale 4., gdyż powoduje ona filtrowanie wierszy i to jeszcze przed rozpoczęciem grupowa- nia. Inaczej mówiąc, fraza 9* 4 nie wie, czym jest grupowanie. Jaka jest więc alternatywa dla 9* 4 ? Język SQL wprowadza dodatkową frazę *#8+0). Jest ona bardzo podobna do 9* 4 . W zasadzie wszystkie opisane do tej pory techniki filtrowania związane z 9* 4 mogą zostać także użyte we frazie *#8+0). Jedyna różnica polega na tym, iż 9* 4 filtruje wiersze, a *#8+0) grupy. Fraza *#8+0) obsługuje wszystkie operatory frazy 9* 4 . Rozdziały 4. i 5. opisywały proste i zaawansowane filtrowanie danych. Wszyst- kie opisane tam operatory można z powodzeniem stosować we frazie *#8+0). Składnia jest identyczna, zmienia się tylko słowo kluczowe. Oto przykład filtrowania grup: 5 . 6MNAKF 1706 #5COQYKGPKC (41/ COQYKGPKC )4172$;MNAKF *#8+0) 1706   MNAKFCOQYKGPKC   Pierwsze trzy wiersze są bardzo podobne do wcześniejszego przykładu z tego rozdziału. Ostatni wiersz wprowadza frazę *#8+0), która przepuszcza tylko te grupy, które posiadają minimum dwa zamówienia — 1706  . Rozdział 10. ♦ Grupowanie danych 89 Można się przekonać, iż fraza 9* 4 nie przeprowadziłaby poprawnego filtro- wania, ponieważ musi ono bazować na wartości z agregacji grupy, a nie war- tości znajdujących się w poszczególnych wierszach. Różnica między *#8+0) i 9* 4 . Można na to zagadnienie spojrzeć inaczej. Fraza 9* 4 filtruje dane przed grupowaniem, natomiast *#8+0) po. Jest to ważna różnica — wiersze wyeliminowane przez frazę 9* 4 w ogóle nie zostaną wzięte pod uwagę przy tworzeniu grup. Powoduje to zmianę wartości pól obliczanych, a tym samym zmianę wyświetlanych grup, gdy przeprowadzane jest filtrnowanie. Czy zachodzi potrzeba jednoczesnego stosowania fraz 9* 4 i *#8+0) w jed- nym zapytaniu? W pewnych sytuacjach jest ona nawet konieczna. Przypuśćmy na przykład, iż poprzednie zapytanie powinno zwrócić dowolnych klientów z więcej niż jednym zamówieniem, ale pod uwagę należy brać tylko ostatni rok. W takiej sytuacji fraza 9* 4 spowoduje przeanalizowanie zamówień tylko z ostatnich 12 miesięcy, a fraza *#8+0) wskaże tylko klientów z co najmniej dwoma zamówieniami. Oto inny przykład. Zapytanie powoduje wyświetlenie listy dostawców z wię- cej niż jednym produktem o cenie powyżej 10 złotych. 5 . 6FQUVAKF 1706 #5NKEDCARTQF (41/2TQFWMV[ 9* 4 RTQFAEGPC  )4172$;FQUVAKF *#8+0) 1706   FQUVAKFNKEDCARTQF  $45 (0) Zapytanie to wymaga krótkiego wyjaśnienia. Pierwszy wiersz to prosta in- strukcja 5 . 6 z funkcją agregującą — podobnie jak w poprzednich przykła- dach. Fraza 9* 4 filtruje wszystkie wiersze, których RTQFAEGPC jest mniejsza od 10 złotych. Następnie dane są grupowane pod kątem FQUVAKF, a fraza *#8+0) przepuszcza tylko grupy zawierające więcej niż jedno zamówienie. Bez frazy 9* 4 zostałby pobrany dodatkowy wiersz, ponieważ dostawica .. sprzedaje trzy produkty po cenie poniżej 10 złotych. C:AndrzejPDFSQL w mgnieniu oka 10-06.doc (04-05-28) 89 90 SQL w mgnieniu oka 5 . 6FQUVAKF 1706 #5NKEDCARTQF (41/2TQFWMV[ )4172$;FQUVAKF *#8+0) 1706   FQUVAKFNKEDCARTQF  $45 .. (0) Stosowanie *#8+0) i 9* 4 . Fraza *#8+0) jest tak podobna do frazy 9* 4 , że większość SZBD traktuje je identycznie, jeśli nie okre- ślono frazy )4172$;. Mimo to warto samemu jasno rozdzielać obie frazy, czyli *#8+0) stosować tylko z )4172$;, a 9* 4 używać do filtrowania na niższym poziomie. Grupowanie i sortowanie Trzeba zdać sobie sprawę z tego, iż frazy )4172$; i 14 4$; są bardzo różne, choć wykonują podobne zadanie. Tabela 10.1 wymienia różnice występujące między obiema frazami. Tabela 10.1. Frazy ORDER BY i GROUP BY ORDER BY GROUP BY Sortuje wygenerowane wyjście. Grupuje wiersze. Wyjście nie musi być jednak posortowane względem grup. Można stosować dla dowolnych kolumn (także tych, które nie są zwracane). Można zastosować tylko wobec zwracanych kolumn lub wyrażeń. Wystąpić muszą wszystkie zwracane kolumny lub wyrażenia. Stosowanie frazy nie jest zawsze wymagane. Stosowanie frazy jest konieczne, jeśli używa się kolumn (lub wyrażeń) z funkcjami agregującymi. Pierwsza różnica wymieniona w tabeli 10.1 jest niezmiernie ważna. Choć nie jest to wymagane, to najczęściej grupy będą wyświetlane w sposób posorto- wany. Co więcej, choć dany system może zawsze sortować grupy po zastoso- waniu frazy )4172$;, konieczny może okazać się inny sposób sortowania. Choć grupowanie odbywa się w taki, a nie inny sposób, nie oznacza to jednocześnie, Rozdział 10. ♦ Grupowanie danych 91 iż sortowanie także musi odbywać się w ten sam sposób. Zawsze można zasto- sować opcjonalną frazę 14 4 $;, aby wymusić odpowiednie sortowanie po- grupowanych danych. Nie zapominaj o frazie 14 4$;. Ogólnie rzecz ujmując, za każdym razem, gdy stosuje się frazę )4172 $;, powinno się także stoso- wać frazę 14 4 $;, gdyż jest to jedyny sposób zapewnienia od- powiedniego sortowania danych. Nigdy nie należy polegać na sor- towaniu za pomocą )4172$;. Oto krótki przykład, który zademonstruje użycie fraz )4172 $; i 14 4 $;. Przedstawione zapytanie 5 . 6 jest bardzo podobne do poprzednich. Pobiera numery zamówień i liczbę zamawianych elementów dla wszystkich zamówień zawierających minimum trzy elementy. 5 . 6COAPWOGT 1706 #5GNGOGPV[ (41/ NGOGPV[ COQYKGPKC )4172$;COAPWOGT *#8+0) 1706   COAPWOGTGNGOGPV[      Aby posortować wyjście na podstawie liczby zamówionych elementów, wy- starczy tylko dodać odpowiednią frazę 14 4$;. 5 . 6COAPWOGT 1706 #5GNGOGPV[ (41/ NGOGPV[ COQYKGPKC )4172$;COAPWOGT *#8+0) 1706   14 4$;GNGOGPV[COAPWOGT COAPWOGTGNGOGPV[   C:AndrzejPDFSQL w mgnieniu oka 10-06.doc (04-05-28) 91 92 SQL w mgnieniu oka    W tym przykładzie fraza )4172$; służy do grupowania danych na podstawie numeru zamówienia (kolumna COAPWOGT), więc funkcja 1706 zwraca liczbę elementów w poszczególnych zamówieniach. Fraza *#8+0) filtruje dane, więc zwracane są tylko zamówienia z więcej niż dwoma elementami. Na końcu wy- niki są sortowane za pomocą frazy 14 4$;. Kolejność fraz instrukcji SELECT Nadszedł chyba najlepszy czas na omówienie kolejności występowania fraz w instrukcji 5 . 6. Tabela 10.2 zawiera poprawną kolejność wszystkich omó- wionych do tej pory fraz. Tabela 10.2. Frazy instrukcji SELECT i ich kolejność Fraza 5 . 6 (41/ 9* 4 )4172$; *#8+0) 14 4$; Opis Wymagane zwracanie kolumn lub wyrażeń tak pobranie danych zawartych w tabelach tylko, gdy wymagane są dane z tabel filtrowanie wierszy nie tworzenie grup filtrowanie grup sortowanie wyjścia tylko do obliczania funkcji agregujących na grupach nie nie Podsumowanie W rozdziale 9. czytelnik zapoznał się z zastosowaniem funkcji agregujących. W powyższym rozdziale wykorzystał frazę )4172$; do przeprowadzania funk- cji agregujących względem określonych grup elementów. Fraza *#8+0) służy do filtrowania grup. Dodatkowo w rozdziale pojawiło się dokładne wyjaśnienie różnic między )4172$; i 14 4$; oraz między 9* 4 i *#8+0).
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

SQL w mgnieniu oka
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: