Język SQL. Przyjazny podręcznik.pdf

(33127 KB) Pobierz
JĘZYI<
PRZYJAZNY
PODRĘCZNll<
SQL
dla
Rażdegol
Helionl
~I
PODZIĘKOWANIA
od
nawiązania
do zdania wypowiedzianego w 2002 roku w przeboju
fil-
mowym
Był
sobie
chłopiec,
będącego
angielskim
przysłowiem:
nikt nie jest
samotną
wyspą.
Jest
to
oczywiście
prawda, jednak ja,
pisząc
książkę, osobiście doświadczy­
łem
znaczenia tych
słów.
Dlatego
też chciałbym podziękować
za pomoc
otrzymaną
od
osób, które
pośrednio
lub
bezpośrednio wspierały
mnie podczas pisania tej
książki.
Po
pierwsze,
chciałbym podziękować
wielu redaktorom z Cengage Learning, którzy
umiejętnie
zweryfikowali i poprawili wiele aspektów tej
książki
w trakcie
jej
powsta-
wania. Gdyby n
ie
redaktor
ds.
nowych
publikacji Mitzi Koontz, ta
książka dosłownie
by nie
powstała,
zaś
Keith
Davenport,
mój redaktor
techniczny,
wykonał znakomitą
pra-
cę, redagując
ją.
Dziękuję
mu za
jego
liczne
sugestie
i
dokonane poprawki. Wreszcie,
składam
podziękowania
Marcie
Justak,
mojej redaktorce ds. projektu, która wspaniale
złożyła
wszystko w
całość, nadając
projektowi profesjonalny
wygląd
i
dbając
jednocze-
śnie
o jego
spójność.
dawnej
koleżance
Mary Anne Schneider,
dzięki
któ-
rej rozumiem sposób
działania
SQL, oraz innym
współpracownikom
z ASAP Software,
którzy
umożliwili
mi samodzielne poszerzanie wiedzy.
Na koniec
i
w szczególny sposób
chciałbym podziękować
wszystkim
członkom
mojej
najbliższej
rodziny za ich wsparcie
podczas
mojego
zaangażowania
w
ten
projekt ...
to
jest
Lisie,
Steve'owi,
Danowi,
Emily
i
Kyle'owi.
Chciałbym
również
podziękować
Rozpocznę
SPIS
TREŚCI
O autorze
............
.................
................................
11
Wprowadzenie
...
.................
.................................
...
13
Rozdział
1. Relacyjne bazy danych i SQL
..............................
.....
1S
Język
i logika
............................................................. 15
Definicja SQL
.............................................................
17
Microsoft SQL Server, Oracle
i
MySQL.
........................................ 17
Inne
bazy danych
.
........................................................ 19
Relacyjne
bazy danych
.....................................................
20
Klucze
główne
i
obce
.
.....................................................
21
Typy danych
.
............................................................
22
Wartości
NULL
.
..........................................................
24
Znaczenie SQL
...........................................................
24
Co
dalej?
.
...............................................................
25
Rozdział
2
.
Podstawy pobierania danych
...........................
.......
27
Prosta
instrukcja
SELECT
.
..................................................
27
Uwagi
dotyczące składni
.
..................................................
28
Wybieranie
kolumn
.......................................................
29
Nazwy
kolumn
zawierające
spacje
............................................
30
Co
dalej?
.
...............................................................
31
Rozdział
3
.
Obliczenia i aliasy
.
.
..
.................................
.......
33
Pola obliczane
............................................................
33
Wartości
l
iterału
..........................................................
34
Obliczenia
arytmetyczne
.
..................................................
35
Konkatenacja pól
.
........................................................
36
Aliasy
kolumn .
...........................................................
37
Aliasy
tabel
..............................................................
39
Co
dalej?
.
...............................................................
40
s
6
Spis
treści
Rozdział
4
.
Korzystanie z funkcji
...............................
..........
41
Zastosowanie
funkcj i .
.....................................................
41
Funkcje
znakowe .
........................................................
42
Funkcje
zagnieżdżone
.
....................................................
47
Funkcje
daty
i
czasu
.......................................................
48
Funkcje
liczbowe
.
........................................................
50
Funkcje
konwersji
.
........................................................
52
Co dalej ?
.
...............................................................
54
Rozdział
S. Sortowanie danych
.
..
.................................
......
SS
Dodawanie sortowania
....................................................
55
Sortowanie danych w
porządku
rosnącym
..................................... 56
Sortowanie danych w
porządku malejącym
....................................
57
Sortowanie
względem więcej niż
jednej
kolumny .
..............................
58
Sortowanie
względem
pola obliczanego
.
.....................................
58
Więcej
na
temat
sekwencji sortowania
........................................
59
Co dalej ?
.
...............................................................
62
Rozdział
6
.
Logika
obliczania
wartości wyj
ściowych
w kolumnach
............
63
Logika
IF-THEN-ELSE
.
.....................................................
64
Format
prosty
............................................................
64
Format
przeszukujący
......................................................
66
Co dalej ?
.
...............................................................
68
Rozdział
7
.
Logika
obliczania
wartości wyj
ściowych
w wierszach
...
..........
69
Zastosowanie
kryteriów
selekcji .
............................................
69
Operatory klauzul
i
WHERE
.
.................................................
71
Ograniczanie
liczby
zwracanych w
ierszy
.......................................
72
Ograniczanie
liczby
wierszy za
pomocą
sortowania
.
............................
73
Co dalej ?
.
...............................................................
75
Rozdział
8
.
Logika Boole' a
.
.
..................................
..........
77
Złożone
wa
runki
logiczne
.
.................................................
77
Operator AN
D
............................................................
78
Operator OR
.
. ...........................................................
79
Zastosowanie nawiasów .
..................................................
79
Zastosowanie wielu nawiasów
.
.............................................
8
1
Operator NOT
.
...........................................................
82
Operator BETWEEN
........................................................
84
Operator
IN .
.............................................................
85
Logika
Boole'a a
wartości
NULL .............................................. 86
Co dalej ?
.
...............................................................
88
Spis
treści
Rozdział
9
.
Dopasowywanie nieprecyzyjnie
określonych wartości
...
.........
89
7
Dopasowywanie do wzorca
.................................................
89
Znaki wieloznaczne
.......................................................
92
Dopasowanie za
pomocą
brzmienia
.
.........................................
94
Co
dalej ?
.
...............................................................
96
Rozdział
1O. Dokonywanie
podsumowań
........................ ..........
99
Usuwanie duplikatów
......................................................
99
Funkcje
agregujące
......................................................
101
Funkcja
COUNT
.
........................................................ 103
Grupowanie danych
.
.................................................... 104
Grupowanie
i
sortowanie
względem
kilku kolumn
............................. 105
Kryteria selekcji w ramach agregacji
..
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Co
dalej ?
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Rozdział
11
.
Złączenia wewnętrzne
tabel
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
111
Łączenie
dwóch
tabel
.
................................................... 112
Złączenie wewnętrzne
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Kolejność
tabel w
złączeniach wewnętrznych
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Alternatywna
s
kładnia
złączeń wewnętrznych
................................ 116
Aliasy
tabel
-
ciąg
dalszy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Co
dalej ?
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Rozdział
12.
Złączenia zewnętrzne
tabel
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
119
Złączenie zewnętrzne
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Złączenia
lewostronne
................................................... 121
Weryfikacja
występowania wartości
NULL
....................................
123
Złączenia
prawostronne
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Kolejność
tabel
w
złączeniach zewnętrznych
..................................
125
Złączenia pełne
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Co
dalej ?
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Rozdział
13.
Złączenia
zwrotne i widoki
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
129
Złączenia
zwrotne
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Tworzenie widoków
.
.................................................... 132
Pobieranie danych z w
idoków
.
............................................
133
Zalety stosowania widoków
...............................................
134
Modyfikowanie
i usuwanie
widoków
........................................
136
Co
dalej ?
.
.............................................................. 137
Rozdział
14. Podzapytania
.
..........
.................................
139
Rodzaje
podzapytań
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Wykorzystanie podzapytania
jako
źródła
danych
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Wykorzystanie podzapytania w
kryteriach
selekcj
i
............................. 143
Podzapytania skorelowane
.
............................................... 144
Zgłoś jeśli naruszono regulamin