Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Spis treci
Wprowadzenie
Rozdzia 2.
Rozdzia 3.
Podstawy SQL-a
63
Skadnia SQL-a ................................................................................. 64
Typy danych ...................................................................................... 69
Typy acuchw znakw..................................................................... 70
Typy acuchw bitowych .................................................................. 72
Typy liczb dokadnych........................................................................ 73
Typy liczb przyblionych.................................................................... 75
Typy daty i czasu .............................................................................. 76
Typy interwaowe (okresowe) ............................................................. 78
Wartoci null ..................................................................................... 80
Rozdzia 4.
Spis treci
Rozdzia 1.
Spis treci
Rozdzia 6.
Spis treci
Rozdzia 5.
Spis treci
Rozdzia 8.
Podzapytania
253
Idea podzapyta ................................................................................254
Skadnia podzapyta .........................................................................256
Podzapytania a zczenia....................................................................257
Podzapytania proste i skorelowane .....................................................261
Podzapytania skorelowane ................................................................263
Kwalifikowanie nazw kolumn wystpujcych w podzapytaniach..........267
Wartoci null w podzapytaniach .........................................................268
Wykorzystywanie podzapyta jako wyrae definiujcych kolumny.....270
Dokonywanie porwna z wartoci zwracan przez podzapytanie
za pomoc operatora porwnania........................................................276
Sprawdzanie przynalenoci do zbioru za pomoc operatora IN ...........281
Dokonywanie porwna ze wszystkimi wartociami zwracanymi
przez podzapytanie za pomoc sowa kluczowego ALL ......................288
Dokonywanie porwna z niektrymi wartociami zwracanymi
przez podzapytanie za pomoc sowa kluczowego ANY .....................291
Sprawdzanie istnienia zadanych wartoci za pomoc operatora EXISTS ..294
Porwnywanie rwnowanych zapyta...............................................302
Rozdzia 9.
Spis treci
Rozdzia 7.
Spis treci
Spis treci
405
Podstawy SQL-a
Podstawy SQL-a
Podstawy SQL-a
Moe zauwaye, e w poprzednim rozdziale
SQL by rzadko wspomniany. Zapamitaj:
SQL model relacyjny
63
Podstawy SQL-a
Rozdzia 3.
Skadnia SQL-a
Rysunek 3.1 przedstawia przykad konstrukcji
SQL. Nie zwracaj na razie uwagi na jej
znaczenie (semantyk) zadaniem tego
przykadu jest wyjanienie zasad skadni SQL-a.
1. Komentarz. Komentarz jest opcjonalnym
Skadnia SQL-a
64
Podstawy SQL-a
Tabela 3.1. Sowa kluczowe jzyka SQL
Skadnia SQL-a
65
Rozdzia 3.
Tabela 3.2. Potencjalne sowa kluczowe jzyka SQL
66
Podstawy SQL-a
!"#
$%
&
!
"#'()*+(,'./%/'(0(
1
2"),3
!
4
kluczowe).
u Mog by kontynuowane w kolejnych
z innymi konstrukcjami.
u Mog rozpoczyna si w dowolnej kolumnie.
identyfikatorze.
u Pominicie zakaczajcego rednika.
u Zmiana kolejnoci wpisanych fraz.
u Nieobjcie cudzysowami acuchw znakw
67
Skadnia SQL-a
Rozdzia 3.
Wskazwki
Wprowadzajce sowo kluczowe konstrukcji
Skadnia SQL-a
Przykad
Przypadek (")
Rzutowanie (")
:0""!,*0 ;
)"!<')"3#=/7>?@7/
Okres ( 2(A")
/B/CD
Liczbowe (# ()
:<()0"2*+C2";9>D
/ )"2',2*"2/FF2"),3'!"#FF/$/
68
Podstawy SQL-a
Tabela 3.4. Kategorie typw danych
Typ danych
acuch znakw
acuch bitowy
Liczba dokadna
Liczba przybliona
Data i czas
Okres
Cigi znakw
Cigi bitw
Liczby cakowite i dziesitne
Liczby zmiennoprzecinkowe
Wartoci czasu i daty
Okresy czasu
Typy danych
W podrozdziale Tabele, kolumny i wiersze
w rozdziale 2. stwierdzono, e dziedzina
kolumny ogranicza wartoci, ktre mog by
w danej kolumnie przechowywane. Praktyczn
realizacj dziedzin s typy danych. Poniej
przedstawiono ich cechy.
u Kada kolumna w tabeli ma okrelony
Wskazwki
Do okrelania i zmiany typu danych
69
Typy danych
Rozdzia 3.
objte s apostrofami.
u Jest jednym z typw przedstawionych
w tabeli 3.5.
Tabela 3.5. Typy acuchw znakw
Typ
Opis
(znakowy)
(znakowy o zmiennej
dugoci)
(znakowy narodowy)
Ten typ danych odpowiada typowi , z tym e jest on w stanie przechowywa
ustandaryzowane znaki wielobajtowe czy unikodowe (patrz ramka). W konstrukcjach SQL
acuchy typu
zapisuje si tak samo jak acuchy typu ,
umieszczajc jedynie przed pierwszym apostrofem liter , np. / H/. Typy
,
oraz s rwnowane.
(znakowy narodowy
o zmiennej dugoci)
70
Podstawy SQL-a
Wskazwki
Jeeli chcesz w acuchu wpisa znak
Unikod
71
Rozdzia 3.
jest apostrofami.
u Jest jednym z typw przedstawionych
w tabeli 3.6.
Wskazwki
Systemy DBMS nie prbuj interpretowa
Opis
(bitowy)
Reprezentuje sta liczb bitw. acuch bitowy przechowywany w kolumn ie zdefiniowanej jako
:; moe zawiera maksymalnie bitw, gdzie jest liczb cakowit
wiksz lub rwn 1. Maksymalna dugo zaley od systemu DBMS. W odrnieniu od acuchw
znakowych typu , prba umieszczenia w kolumn ie
:; acucha bitowego
o dugoci mniejszej ni spowoduje wystpienie bdu. W konstrukcjach SQL acuchy
bitowe zapisywane s podobnie, jak acuchy znakowe, jedynie przed pierwszym apostrofem
umieszczona jest litera . Np. acuchem typu
:I; jest /7>77>7>>/.
Reprezentuje zmienn liczb bitw. acuch bitowy przechowywany w kolumnie zdefiniowanej
jako
:; moe zawiera maksymalnie bitw, gdzie jest
liczb cakowit wiksz lub rwn 1. Maksymalna dugo zaley od systemu DBMS. Podobnie
jak w przypadku acuchw znakowych typu
, jeli umiecimy w kolumnie zdefin iowanej
jako
:; acuch o dugoci mniejszej ni , system DBMS przechowa go
w pierwotnej postaci nie wypeniajc brakujcych miejsc spacjami. Np. acuch /7>7>/ typu
:I; przechowywany jest jako /7>7>/.
(bitowy
o zmiennej
dugoci)
72
Podstawy SQL-a
w tabeli 3.7.
Tabela 3.7. Typy liczb dokadnych
Typ
Opis
(liczbowa)
(dziesitna)
Ten typ danych jest analogiczny do typu
, niektre systemy DBMS traktuj je
rwnowanie. Rnica jest taka, e system DBMS moe okreli
liczby
jako wiksz ni ustalono to w definicji
:
J$
K;
jest min imalnym, a nie rzeczywistym rozmiarem przedstawianej liczby,
tak jak byo to w przypadku typu
. Sowa i
s synonimami.
(cakowita)
(cakowita krtka)
Ten typ jest takim samym typem jak
, posiada tylko wszy zakres dopuszczalnych
wartoci zaleny od systemu DBMS. Definicja tego typu nie wymaga okrelania argumentw.
73
Rozdzia 3.
Wskazwki
Tabela 3.8 przedstawia sposb, w jaki liczba
w cudzysowach.
Jeli liczby nie s stosowane do adnych
74
Przechowywana warto
:L;
>DM
:L$7;
>DM
:L$>;
>D@NO
:L$D;
>D@NIO
:M$7;
>DM
:M$>;
>D@NO
:M$D;
:D$7;
Podstawy SQL-a
zmiennoprzecinkowej (rzeczywistej).
u Zazwyczaj wykorzystywana jest do
w tabeli 3.9.
Wskazwki
Wartoci liczbowych nie umieszcza si
w cudzysowie.
Opis
(zmiennoprzecinkowa)
(rzeczywista)
(podwjnej precyzji)
75
Rozdzia 3.
w tabeli 3.10.
Opis
(data)
Reprezentuje dat. Data przechowywana w kolumnie zdefin iowanej jako zawiera trzy
liczby cakowite: rok (), miesic (
) i dzie () sformatowane wedug schematu
rrrr-mm-dd (dugo 10), np. D77DP7QP>M. Tabela 3.11 przedstawia poprawne wartoci
dla pl tego typu. Definicja typu nie wymaga okrelania argumentw.
(czas)
(stempel czasowy)
Ten typ jest typem analogicznym do typu , z tym e zawiera dodatkowe pole
!%
!
(przesunicie strefy czasowej) okrelajce przesunicie w godzinach
wzgldem czasu UTC. Warto
!%
!
sformatowana jest jako
(patrz nastpny podrozdzia) i moe zawiera wartoci przedstawione w tabeli
3.11. Uwzgldnienie strefy czasowej osiga si poprzez dodanie do wartoci typu
zwrotu:
%
, np. DD?7Q?LB
%
P7I?77. Drug
moliwoci jest dodanie zwrotu
, co wskazuje, e strefa czasowa powinna by
domylna dla caej sesji, np. DD?7Q?LB
. Jeli fraza nie jest jawnie okrelona,
wszystkie wartoci czasu s domylnie przyjmowane jako
.
%
(stempel czasowy
ze stref czasow)
76
Ten typ odpowiada typowi
, zawiera tylko dodatkowe pole
!%
!
okrelajce przesunicie w godzinach wzgldem czasu UTC. Zasady skadniowe wyrae tego
typu s analogiczne, co w przypadku typu
%
, trzeba jedynie na pocztku
umieci dat np. D77DP7QP>MDD?7Q?LB
%
P7I?77.
Podstawy SQL-a
Tabela 3.11. Pola typu daty i czasu
Pole
Poprawna warto
od 777> do OOOO
od 7> do >D
od 7> do @>
od 77 do D@
od 77 do LO
od 77 do Q>NOOOR
(patrz wskazwki)
!%
!
od P>D?LO do =>@?77
Wskazwki
Opis pobierania czasu systemowego
wykorzystywane do konstruowania
unikalnych kluczy lub zaznaczania
zdarze zwizanych z wierszem,
w ktrym wystpuj.
Typ danych 7
7
7
C( waciwie
77
Rozdzia 3.
u
moe by polem ,, ,, D
lub 7(D, a
jednym z pl: ,,
(, ,, D, 7(D lub (.
78
Podstawy SQL-a
Tabela 3.12. Typy okresowe
Typ
Opis
Year-month
(rok-miesic)
Day-time
(dzie-czas)
w tabeli 3.12.
Wskazwki
Aby wprowadzi wzorzec okresu, naley
wpisa sowo 7(;,, nastpnie spacj,
79
Rozdzia 3.
Wartoci null
Kiedy zestaw Twoich danych nie jest kompletny,
jako oznaczenia brakujcej czy nieznanej
wartoci moesz uy wartoci pustej null.
Warto null posiada nastpujce cechy:
u W konstrukcjach SQL warto null jest
reprezentowana przez sowo kluczowe (D.
u Warto okrelana jest jako null, jeli nigdy
Wartoci null
80
Podstawy SQL-a
:0!"#;
"#'()*
2"),3'!"#.//4
:0!"#;
PPPPPPPPPPP
07..
81
Wartoci null
Wskazwki