Używamy cookies, aby ułatwić korzystanie z Portalu. Możesz określić warunki przechowywania, dostępu do plików cookies w Twojej przeglądarce. Dowiedz się więcej.
strona główna Strona główna | Nowości | Promocje | Zapowiedzi Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc
mapa działów
Szukaj: szukanie zaawansowane
Koszyk
Książki \ Bazy danych \ SQL Server

Podstawy języka T-SQL: Microsoft SQL Server 2016 i Azure SQL Database Język: 1

978-83-7541-305-2

Cena Brutto: 98.70

Cena netto: 94.00

Ilość:
Wersja: Drukowana
Autor Itzik Ben-Gan
Liczba_stron 502
Wydawnictwo Microsoft Press
Oprawa miękka
Data_Wydania 2016-11-22

Podstawy języka T-SQL: Microsoft

SQL Server 2016

i Azure SQL Database



Książka z serii:

SQL 2016

Książka z serii:

Podstawy języka T-SQL



Z książką opanujesz podstawy języka T-SQL i pisz niezawodny kod dla Microsoft SQL Server i Azure SQL Database. Itzik Ben-Gan wyjaśnia kluczowe koncepcje języka T-SQL i pomaga w wykorzystaniu tej wiedzy w praktycznych zastosowaniach. Książka przedstawia zasady działania T-SQL i logikę działającą w tle. Następnie prowadzi czytelnika poprzez kluczowe zagadnienia, takie jak zapytania jednotabelowe, złączenia, podzapytania, wyrażenia tablicowe i operatory zbiorów. Dalej książka przedstawia bardziej zaawansowane zagadnienia, takie jak funkcje okna, tworzenie tabel przestawnych i grupowanie zbiorów. Wyjaśnione zostaną również techniki modyfikowania danych, pracy z tabelami tymczasowymi i obsługa transakcji, a także przegląd obiektów programowalnych.

Itzik Ben-Gan, MVP w dziedzinie Microsoft Data Platform, przedstawia:
  • Podstawowe koncepcje SQL i jego matematyczne korzenie
  • Tworzenie tabel i wymuszanie integralności danych
  • Wykonywanie efektywnych zapytań przy użyciu wyrażenia SELECT
  • Odpytywanie wielu tabel przy użyciu złączeń, podzapytań, wyrażeń tablicowych i operatorów zbiorów
  • Stosowanie zaawansowanych technik, takich jak funkcje okna, tabele przestawne i grupowanie zbiorów
  • Wstawianie, aktualizowanie, usuwanie i scalanie danych
  • Korzystanie z transakcji w wielodostępnym środowisku
  • Wprowadzenie do obiektów programowalnych – od zmiennych i plików wsadowych po funkcje definiowane przez użytkownika, procedury składowane, wyzwalacze i dynamiczny kod SQL



Wprowadzenie  . . xiii
Podziękowania  . .xvii


1. Podstawy zapytań i programowania T-SQL  . . . . . 1
Podstawy teoretyczne . . . . . . . 1
SQL  . .. . . . . 3
Teoria zbiorów . . 4
Logika predykatów . . . . .. 5
Model relacyjny  6
Typy systemów bazodanowych   . . .. . . . 13
Architektura SQL Server . . . . . . . 15
Odmiany ABC produktu SQL Server   . . . . . . 15
Instancje produktu SQL Server   . . . . . . . . . . . 18
Bazy danych  . . 19
Schematy i obiekty . . . .. . . 23
Tworzenie tabel i definiowanie integralności danych  . . . . . . 24
Tworzenie tabel . . . .  . . . 25
Definiowanie integralności danych   . . . . . 27
Podsumowanie  . . 31
 

2. Zapytania do pojedynczej tabeli   . . . . . . 33
Elementy instrukcji SELECT . . . . 33
Klauzula FROM  36
Klauzula WHERE . . . . . . . . . . . 38
Klauzula GROUP BY . . . . . . . . 39
Klauzula HAVING . . . . . . . . . . 43
Klauzula SELECT . . . . . . . 44
Klauzula ORDER BY . . . . . . . . 49
Filtry TOP i OFFSET-FETCH . . 52
Szybki przegląd funkcji okna 56
Predykaty i operatory . . . . . . . . . 58
Wyrażenia CASE . . 61
Znacznik NULL  . . . 64
Operacje jednoczesne – „all-at-once”   . . . . . . . 69
Stosowanie danych znakowych 71
Typy danych  . . 71
Opcje sortowania (collation) . 72
Operatory i funkcje . . . . . . . . 75
Predykat LIKE  . 84
Posługiwanie się danymi typu daty i czasu  . . . 87
Typy danych dotyczące daty i czasu   . . . . . . 87
Literały  . . . . . . . 88
Rozdzielne stosowanie daty i czasu   . . . . . . 92
Filtrowanie zakresów danych 94
Funkcje daty i godziny . . . . . 95
Zapytania dotyczące metadanych   . . . . . . . . . 106
Widoki katalogowe . . . . . . . 106
Informacyjne widoki schematu   . . . . . . . . . 107
Systemowe procedury składowane i funkcje  . . . . . . . . . . 108
Podsumowanie  . 109
Ćwiczenia  . . . . . . 110
Rozwiązania  . . . . 115
 

3. Złączenia  . . . . . 121
Złączenia krzyżowe . . . . . . . . . . 122
Składnia ISO/ANSI SQL-92 . 122
Składnia ISO/ANSI SQL-89 . 123
Samo-złączenie krzyżowe (Self Cross Join)  . . . . . . . . . . . 123
Tworzenie tabel liczb . . . . . . 124
Złączenia wewnętrzne . . . . . . . 126
Składnia ISO/ANSI SQL-92 . 126
Składnia ISO/ANSI SQL-89 . 127
Bezpieczeństwo złączenia wewnętrznego   128
Dodatkowe rodzaje złączeń . . 129
Złączenia złożone . . . . . . . . . 129
Złączenie nierównościowe (Non-Equi Join)  . . . . . . . . . . . 130
Złączenia wielokrotne (multi-join)   . . . . . . . 132
Złączenia zewnętrzne . . . . . . . . 133
Podstawy złączeń zewnętrznych   . . . . . . . . 133
Złączenia zewnętrzne – zagadnienia zaawansowane  . . . 136
Podsumowanie  . 144
Spis treści vii
Ćwiczenia  . . . . . . 144
Rozwiązania  . . . . 149
 

4. Podzapytania  . 155
Podzapytania niezależne . . . . . 155
Przykłady skalarnych podzapytań niezależnych  . . . . . . . 156
Podzapytania niezależne o wielu wartościach  . . . . . . . . . 158
Podzapytania skorelowane . . . 162
Predykat EXISTS . . . . . . . . . . 165
Zaawansowane aspekty podzapytań   . . . . . . . 167
Zwracanie poprzednich lub kolejnych wartości  . . . . . . . 167
Agregacje bieżące . . . . . . . . 168
Postępowanie w przypadku nieprawidłowo działających podzapytań 169
Podsumowanie  . 174
Ćwiczenia  . . . . . . 175
Rozwiązania  . . . . 179
 

5. Wyrażenia tablicowe . . . . . 185
Tabele pochodne  185
Przypisywanie aliasów kolumn   . . . . . . . . . . 187
Stosowanie argumentów . . . 189
Zagnieżdżanie  190
Wielokrotne odwołania . . . . 191
Wspólne wyrażenia tablicowe . 192
Przypisywanie aliasów kolumn w wyrażeniach CTE  . . . . 192
Stosowanie argumentów w wyrażeniach CTE  . . . . . . . . . 193
Definiowanie wielu wyrażeń CTE   . . . . . . . . 193
Wielokrotne odwołania w wyrażeniach CTE  . . . . . . . . . . 194
Rekurencyjne wyrażenia CTE   . . . . . . . . . . . 195
Widoki  . . . . . . . . . 198
Widoki i klauzula ORDER BY   . . . . . . . . . . . 199
Opcje widoku  202
Wbudowane funkcje zwracające tabele   . . . . 206
Operator APPLY  . 207
Podsumowanie  . 211
Ćwiczenia  . . . . . . 211
Rozwiązania  . . . . 216

6. Operatory zbiorowe . . . . . . 221
Operator UNION  222
Operator wielozbioru UNION ALL   . . . . . . . 222
Operator zbiorowy UNION z niejawną opcją Distinct  . . 223
Operator INTERSECT . . . . . . . . . 224
Operator INTERSECT (z ukrytą opcją Distinct)  . . . . . . . . 225
Operator wielozbioru INTERSECT ALL   . . . 225
Operator EXCEPT  228
Operator zbiorowy EXCEPT (z opcją Distinct)  . . . . . . . . . 228
Operator wielozbioru EXCEPT ALL   . . . . . . 229
Pierwszeństwo  . . 230
Omijanie nieobsługiwanych faz logicznych   . 232
Podsumowanie  . 234
Ćwiczenia  . . . . . . 234
Rozwiązania  . . . . 237
 

7. Zaawansowane zagadnienia tworzenia zapytań  . . 241
Funkcje okna  . . . 241
Rankingowe funkcje okna . . 244
Offsetowe funkcje okna . . . 248
Agregujące funkcje okna . . 251
Przestawianie danych . . . . . . . . 254
Przestawianie danych przy użyciu zapytania grupującego . . . . . . . . . . 256
Przestawianie danych przy użyciu operatora PIVOT  . . . 257
Odwrotne przestawianie danych   . . . . . . . . . . 260
Odwrotne przestawianie danych przy użyciu operatora APPLY . . . . . . 261
Odwrotne przestawianie danych za pomocą operatora UNPIVOT . . . 264
Zbiory grupujące  265
Klauzula pomocnicza GROUPING SETS   . . 267
Klauzula pomocnicza CUBE 267
Klauzula pomocnicza ROLLUP   . . . . . . . . . . 268
Funkcje GROUPING i GROUPING_ID   . . . . 269
Podsumowanie  . 272
Ćwiczenia  . . . . . . 272
Rozwiązania  . . . . 277
 

8. Modyfikowanie danych . . 281
Wstawianie danych . . . . . . . . . . 281
Wyrażenie INSERT VALUES . 281
Instrukcja INSERT SELECT . . 283
Instrukcja INSERT EXEC . . . . 284
Instrukcja SELECT INTO . . . . 285
Instrukcja BULK INSERT . . . . 286
Właściwość Identity i obiekt sekwencji   . . . 286
Usuwanie danych . . . . . . . . . . . 296
Instrukcja DELETE . . . . . . . . . 297
Instrukcja TRUNCATE . . . . . . 297
DELETE oparte na złączeniu 299
Aktualizowanie danych . . . . . . 300
Instrukcja UPDATE . . . . . . . . 301
UPDATE oparte na złączeniu   . . . . . . . . . . . 302
UPDATE z przypisaniem . . . 305
Scalanie danych  . 306
Modyfikowanie danych przy użyciu wyrażeń tablicowych  311
Modyfikacje przy użyciu opcji TOP i OFFSET-FETCH  . . . . . 313
Klauzula OUTPUT . . . . . . . . . . . 316
INSERT z klauzulą OUTPUT. 316
DELETE z klauzulą OUTPUT 318
UPDATE z klauzulą OUTPUT 319
MERGE z klauzulą OUTPUT 320
Zagnieżdżone wyrażenia DML   . . . . . . . . . . 321
Podsumowanie  . 323
Ćwiczenia  . . . . . . 323
Rozwiązania  . . . . 327


9. Tabele temporalne . . . . . . . 333
Tworzenie tabel  . 334
Modyfikowanie danych . . . . . . 338
Odpytywanie danych . . . . . . . . 341
Podsumowanie  . 348
Ćwiczenia  . . . . . . 348
Rozwiązania  . . . . 351

10. Transakcje i współbieżność   . . . . . . . . . . . 357
Transakcje  . . . . . . 357
Blokowanie  . . . . . 361
Blokady . . . . . . 361
Rozwiązywanie problemów związanych z blokadami  . . 364
Poziomy izolacji  . 372
Poziom izolacji READ UNCOMMITTED   . . . 374
Poziom izolacji READ COMMITTED   . . . . . 375
Poziom izolacji REPEATABLE READ   . . . . . . 377
Poziom izolacji SERIALIZABLE   . . . . . . . . . . . 378
Poziomy izolacji oparte na wersjonowaniu wierszy  . . . . 380
Podsumowanie poziomów izolacji   . . . . . . 387
Zakleszczenia  . . . 388
Podsumowanie  . 391
Ćwiczenia  . . . . . . 391
 

11. Obiekty programowalne . 403
Zmienne  . . . . . . . 403
Wsady  . . . . . . . . . 406
Wsad jako jednostka analizy   . . . . . . . . . . . 406
Wsady i zmienne . . . . . . . . . 407
Instrukcje, których nie można łączyć w tym samym wsadzie . . . . . . . . 408
Wsad jako jednostka rozpoznawania   . . . . 408
Opcja GO n  . . 409
Elementy kontroli przepływu wykonania   . . . 410
Element kontroli przepływu IF … ELSE   . . 410
Element kontroli przepływu WHILE   . . . . . . 411
Kursory  . . . . . . . . 413
Tabele tymczasowe . . . . . . . . . . 417
Lokalne tabele tymczasowe 417
Globalne tabele tymczasowe   . . . . . . . . . . . 419
Zmienne tablicowe . . . . . . . . 421
Typy tablicowe . . . . . . . . . . . 422
Dynamiczny kod SQL . . . . . . . . 423
Polecenie EXEC . . . . . . . . . . . 424
Procedura składowana sp_executesql   . . . . 424
PIVOT w dynamicznym kodzie SQL   . . . . . 426
Procedury  . . . . . . 427
Funkcje definiowane przez użytkownika   . 428
Procedury składowane . . . . 429
Wyzwalacze  . . 432
Obsługa błędów  436
Podsumowania . . 440
 

Dodatek A
Rozpoczynamy . . . . . . . . . . . 441
Rozpoczynamy pracę w Azure SQL Database  . . . . . . . . . . . 442
Instalowanie produktu SQL Server w wersji dla siedziby  . . 442
Ćwiczenie 1. Uzyskanie produktu SQL Server  . . . . . . . . . 442
Ćwiczenie 2. Instalowanie silnika bazy danych  . . . . . . . . 443
Pobieranie i instalowanie SQL Server Management Studio  448
Pobieranie kodu źródłowego i instalowanie przykładowej bazy danych 448
Posługiwanie się programem SQL Server Management Studio . . . . . . . . 451
Korzystanie z SQL Server Books Online   . . . . . 457
Informacje o autorze . . . . . . . . 460
Indeks  . . . . . . . . . 461

powrót
 
Produkty Podobne
Exam Ref 70-765 Provisioning SQL Databases
Mistrzowski SQL. 61 technik pisania wydajnego kodu SQL
Exam Ref 70-764 Administering a SQL Database Infrastructure
SQL Server i T-SQL w mgnieniu oka. Wydanie II
SQL Server 2016 High Availability Unleashed (includes Content Update Program)
Microsoft SQL Server 2016 Analysis Services: Modelowanie tabelaryczne
Tabular Modeling in Microsoft SQL Server Analysis Services, 2nd Edition
Exam Ref 70-768 Developing SQL Data Models
Exam Ref 70-762 Developing SQL Databases
Microsoft SQL Server T-SQL in 10 Minutes, Sams Teach Yourself, 2nd Edition
Więcej produktów