SQL_Receptury_sqlrec.pdf

(202 KB) Pobierz
SQL. Receptury
IDZ DO
PRZYK£ADOW Y ROZDZIA£
SQL. Receptury
SPIS TREœCI
KATALOG KSI¥¯EK
Autor: Anthony Molinaro
T³umaczenie: Miko³aj Szczepaniak
ISBN: 83-246-0450-2
Tytu³ orygina³ u: SQL Cookbook
Format: B5, stron: 624
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
SQL jest jêzykiem programowania u¿ywanym we wszystkich najpopularniejszych
systemach zarz¹dzania bazami danych. Oczywiœcie, ka¿dy z nich ma specyficzne
dla siebie polecenia i parametry, jednak rdzeñ jêzyka jest ustandaryzowany.
SQL wykorzystuje siê do tworzenia baz i tabel, wprowadzania danych do bazy
i manipulowania nimi oraz do administrowania serwerem bazy danych.
Mimo stosunkowo niewielkiego zbioru s³ów kluczowych, jest niezwykle elastyczny
i uniwersalny.
Ksi¹¿ka „SQL. Receptury” to zestawienie rozwi¹zañ problemów, z jakimi programiœci
baz danych spotykaj¹ siê w swojej pracy. Przedstawia zagadnienia zwi¹zane
z wybieraniem rekordów z bazy, grupowaniem, sortowaniem ich i tworzeniem z³o¿onych
zapytañ wykorzystuj¹cych kilka tabel. Opisuje metody wprowadzania danych do bazy,
tworzenia raportów i przetwarzania wyników zapytañ. Ka¿de z rozwi¹zañ
zaprezentowane jest w formie polecenia SQL opatrzonego szczegó³owym
komentarzem.
Odczytywanie danych z bazy
Sortowanie wyników zapytañ
£¹czenie tabel w zapytaniach
Wprowadzanie i aktualizowanie danych w tabelach
Usuwanie rekordów
Operacje na liczbach i datach
Zapytania z³o¿one
Tworzenie raportów
Polecenia SQL specyficzne dla okreœlonych systemów baz danych
Optymalna konstrukcja zapytañ SQL jest jednym z warunków szybkiego dzia³ania
aplikacji bazodanowych. Dziêki wiadomoœciom z tej ksi¹¿ki ka¿dy programista baz
danych wykorzysta wszystkie mo¿liwoœci jêzyka SQL.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
608346439.002.png 608346439.003.png 608346439.004.png 608346439.005.png
Przedmowa ................................................................................................................... 11
1. Odczytywanie rekordów ............................................................................................. 29
Odczytywanie wszystkich wierszy i kolumn tabeli
29
Odczytywanie podzbioru wierszy tabeli
30
Odnajdywanie wierszy spełniających wiele warunków
30
Odczytywanie podzbioru kolumn tabeli
31
Definiowanie znaczących nazw kolumn
32
Odwołania do aliasów kolumn w klauzuli WHERE
33
Konkatenacja wartości kolumn
34
Stosowanie logiki warunkowej w wyrażeniu SELECT
35
Ograniczanie liczby zwracanych wierszy
36
Zwracanie n losowych rekordów tabeli
38
Odnajdywanie wartości pustych
39
Tłumaczenie wartości pustych na wartości rzeczywiste
40
Poszukiwanie wzorców
41
2. Sortowanie wyników zapytań ................................................................................... 43
Zwracanie wyników zapytań posortowanych w określonym porządku
43
Sortowanie zbioru wynikowego według zawartości wielu pól
44
Sortowanie według podłańcuchów
45
Sortowanie wymieszanych danych alfanumerycznych
46
Obsługa wartości pustych w zapytaniach sortujących
49
Sortowanie według klucza zależnego od danych
55
3. Praca z wieloma tabelami ........................................................................................... 57
Umieszczanie jednego zbioru wierszy ponad drugim 57
Łączenie wzajemnie powiązanych wierszy 59
Odnajdywanie wspólnych wierszy pomiędzy dwiema tabelami 60
Uzyskiwanie z jednej tabeli tylko tych wartości, które nie występują w innej tabeli 62
Spis treści
|
5
608346439.001.png
Uzyskiwanie z jednej tabeli tylko tych wierszy, dla których nie istnieją
odpowiedniki w innej tabeli
66
Dodawanie złączeń do zapytań bez konieczności modyfikowania pozostałych,
już istniejących złączeń
68
Określanie, czy dwie tabele zawierają te same dane
70
Identyfikowanie i eliminowanie iloczynów kartezjańskich
76
Stosowanie złączeń w zapytaniach wykorzystujących funkcje agregujące
78
Stosowanie złączeń zewnętrznych w zapytaniach wykorzystujących funkcje
agregujące
82
Zwracanie brakujących danych z wielu tabel
85
Wykorzystywanie wartości NULL w operacjach i wyrażeniach warunkowych
89
4. Wstawianie, aktualizowanie i usuwanie ................................................................... 91
Wstawianie nowych rekordów 92
Wstawianie wartości domyślnych 92
Przykrywanie wartości domyślnych wartością NULL 94
Kopiowanie wierszy pomiędzy tabelami 95
Kopiowanie definicji tabel 95
Wstawianie wierszy do wielu tabel jednocześnie 97
Blokowanie możliwości wstawiania wartości do wybranych kolumn 99
Modyfikowanie rekordów tabeli 100
Aktualizowanie danych pod warunkiem zawierania w tabeli określonych wierszy 101
Aktualizowanie wartości według zawartości innej tabeli
102
Scalanie rekordów
105
Usuwanie wszystkich rekordów z tabeli
107
Usuwanie rekordów spełniających określone kryteria
107
Usuwanie pojedynczych rekordów
108
Usuwanie wierszy naruszających integralność odwołań
109
Usuwanie powtarzających się rekordów
110
Usuwanie wierszy będących przedmiotem odwołań rekordów składowanych
w innej tabeli
111
5. Zapytania przetwarzające metadane ....................................................................... 113
Generowanie listy tabel wchodzących w skład schematu bazy danych
113
Generowanie listy kolumn danej tabeli
114
Generowanie listy indeksowanych kolumn danej tabeli
115
Generowanie listy ograniczeń zdefiniowanych dla tabeli
117
Generowanie listy kluczy obcych pozbawionych indeksów
118
Generowanie kodu języka SQL za pomocą wyrażeń tego języka
121
Opisywanie perspektyw słowników danych w bazie danych Oracle
123
6
|
Spis treści
6. Praca z łańcuchami ..................................................................................................... 125
Przechodzenie pomiędzy znakami łańcucha
126
Umieszczanie apostrofów w stałych łańcuchowych
128
Zliczanie wystąpień znaku w łańcuchu wejściowym
129
Usuwanie z łańcucha niechcianych znaków
130
Oddzielanie danych numerycznych od danych znakowych
131
Określanie, czy łańcuch jest ciągiem alfanumerycznym
135
Określanie inicjałów na podstawie całych imion i nazwisk
140
Sortowanie kolumn według wybranych fragmentów łańcuchów
144
Sortowanie danych według liczb zapisanych w łańcuchach
145
Tworzenie listy wartości oddzielonych przecinkami z danych zawartych
w wierszach tabeli 151
Konwertowanie danych oddzielonych przecinkami na wielowartościową listę IN 157
Sortowanie znaków w łańcuchach w porządku alfabetycznym
162
Identyfikowanie łańcuchów, które można traktować jak liczby
168
Odnajdywanie n-tego podłańcucha na liście oddzielonej przecinkami
174
Przetwarzanie adresów IP
180
7. Praca z liczbami .......................................................................................................... 183
Wyznaczanie wartości średniej
183
Identyfikacja minimalnej i maksymalnej wartości w kolumnie
185
Sumowanie wartości składowanych w kolumnie
187
Zliczanie wierszy tabeli
188
Zliczanie różnych wartości w kolumnie
190
Generowanie sum bieżących
191
Generowanie iloczynów bieżących
194
Wyznaczanie różnic bieżących
197
Wyznaczanie wartości modalnej (dominanty)
198
Wyznaczanie mediany
201
Określanie procentowego udziału w wartości łącznej
205
Agregowanie kolumn zawierających wartości NULL
207
Wyznaczanie wartości średnich z wyłączeniem wartości spoza określonego
przedziału
209
Konwertowanie łańcuchów alfanumerycznych na liczby
210
Modyfikowanie wartości uwzględnianych w sumach bieżących
213
8. Działania na datach .................................................................................................... 215
Dodawanie i odejmowanie dni, miesięcy i lat
215
Określanie liczby dni pomiędzy dwiema datami
218
Określanie liczby dni roboczych pomiędzy dwiema datami
220
Określanie liczby miesięcy lub lat dzielących dwie daty
224
Określanie liczby sekund, minut lub godzin dzielących dwie daty
227
Spis treści
|
7
Zliczanie wystąpień poszczególnych dni tygodnia w roku
228
Określanie różnicy dzielącej datę reprezentowaną w bieżącym rekordzie
i datę reprezentowaną w rekordzie następnym
239
9. Przetwarzanie dat ..................................................................................................... 245
Określanie, czy dany rok jest rokiem przestępnym 246
Określanie liczby dni w roku 252
Wydobywanie jednostek czasu z dat wejściowych 255
Określanie pierwszego i ostatniego dnia miesiąca 257
Określanie wszystkich dat dla konkretnego dnia tygodnia w ciągu danego roku 260
Określanie dat pierwszego i ostatniego wystąpienia określonego dnia tygodnia
w danym miesiącu
267
Tworzenie kalendarza
274
Generowanie dat rozpoczynających i kończących
poszczególne kwartały danego roku
291
Określanie daty początkowej i końcowej dla danego na wejściu kwartału
296
Odnajdywanie brakujących dat
303
Przeszukiwanie według określonych jednostek czasu
312
Porównywanie rekordów według określonych fragmentów dat
314
Identyfikacja wzajemnie pokrywających się przedziałów czasowych
317
10. Praca z przedziałami ................................................................................................. 323
Lokalizowanie przedziałów w ramach ciągów wartości
323
Odnajdywanie różnic pomiędzy wierszami należącymi do tej samej grupy
lub wycinka danych
328
Lokalizowanie początków i końców przedziałów wartości następujących
bezpośrednio po sobie
337
Uzupełnianie brakujących wartości w przedziale
342
Generowanie kolejnych wartości liczbowych
346
11. Zaawansowane przeszukiwanie ............................................................................... 351
Podział zbioru wynikowego na strony
351
Pomijanie n wierszy tabeli
354
Stosowanie logiki alternatywy w zapytaniach wykorzystujących złączenia
zewnętrzne
357
Identyfikacja par odwrotnych w przetwarzanym zbiorze wierszy
360
Wybieranie n najlepszych rekordów
361
Odnajdywanie rekordów z największymi i najmniejszymi wartościami
363
Badanie „przyszłych” wierszy
365
Przenoszenie wartości nieprzetworzonych
369
Przypisywanie ocen do wierszy zbioru wynikowego
372
Eliminowanie powtórzeń
373
8
|
Spis treści
Zgłoś jeśli naruszono regulamin