Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Data bases
- SQL
- SQL. Zapytania i techniki dla bazodanowców. Receptury. Wydanie II
E-book details
SQL. Zapytania i techniki dla bazodanowców. Receptury. Wydanie II
Anthony Molinaro, Robert de Graaf
SQL jest linqua franca dla profesjonalistów zajmujących się przetwarzaniem danych. To wyjątkowo dojrzałe narzędzie, z którego korzysta już kilka pokoleń inżynierów i programistów. Wydaje się jednak, że zbyt często ten język nie jest należycie wykorzystywany: wielu użytkowników posługuje się nim na co dzień, ale mało kto wychodzi poza stosunkowo proste zapytania. Tymczasem z możliwości nowoczesnego SQL mogą skorzystać nie tylko osoby zajmujące się bazami danych, ale także analitycy danych, analitycy biznesowi, statystycy czy osoby zajmujące się wizualizacją danych.
To drugie, gruntownie zaktualizowane wydanie nieocenionego zbioru receptur, podanych tak, aby maksymalnie ułatwić rozwiązywanie codziennych problemów związanych z budową zapytań SQL. Uwzględniono tu kilka wariantów języka SQL, zaimplementowanych w systemach Oracle, DB2, SQL Server, MySQL i PostgreSQL. W książce znalazły się propozycje zastosowania takich nowoczesnych rozwiązań jak funkcje okna, wspólne wyrażenia tablicowe i rekurencyjne zapytania hierarchiczne. Nie zabrakło receptur opracowanych specjalnie dla analityków danych, umożliwiających zastosowanie mediany odchylenia bezwzględnego i prawa Benforda, a także wyszukiwanie danych tekstowych na podstawie brzmienia słów.
W tym wydaniu znajdziesz receptury, dzięki którym:
- łatwiej opanujesz podstawy SQL
- dobrze wykorzystasz funkcje okna
- zastosujesz wspólne wyrażenia tablicowe (CTE) do tworzenia czytelniejszych rozwiązań
- zwiększysz użyteczność SQL w analizie danych
- skuteczniej obsłużysz dane liczbowe i ciągi znaków
SQL: dokładnie to, czego potrzebujesz!
- Przedmowa
- Dla kogo jest przeznaczona ta książka?
- O czym w tej książce nie pisaliśmy?
- Systemy i wersje
- Tabele wykorzystane w tej książce
- Konwencje stosowane w książce
- Konwencje typograficzne
- Konwencje prezentacji kodów
- Podziękowania do wydania drugiego
- Podziękowania do wydania pierwszego
- Rozdział 1. Odczytywanie rekordów
- 1.1. Odczytywanie wszystkich wierszy i kolumn tabeli
- Problem
- Rozwiązanie
- Omówienie
- 1.2. Odczytywanie podzbioru wierszy tabeli
- Problem
- Rozwiązanie
- Omówienie
- 1.3. Odnajdywanie wierszy spełniających wiele warunków
- Problem
- Rozwiązanie
- Omówienie
- 1.4. Odczytywanie podzbioru kolumn tabeli
- Problem
- Rozwiązanie
- Omówienie
- 1.5. Definiowanie sensownych nazw kolumn
- Problem
- Rozwiązanie
- Omówienie
- 1.6. Odwołania do aliasów kolumn w klauzuli WHERE
- Problem
- Rozwiązanie
- Omówienie
- 1.7. Konkatenacja wartości kolumn
- Problem
- Rozwiązanie
- DB2, Oracle, PostgreSQL
- MySQL
- SQL Server
- Omówienie
- 1.8. Stosowanie logiki warunkowej w wyrażeniu SELECT
- Problem
- Rozwiązanie
- Omówienie
- 1.9. Ograniczanie liczby zwracanych wierszy
- Problem
- Rozwiązanie
- DB2
- MySQL i PostgreSQL
- Oracle
- SQL Server
- Omówienie
- 1.10. Zwracanie n losowych rekordów tabeli
- Problem
- Rozwiązanie
- DB2
- MySQL
- PostgreSQL
- Oracle
- SQL Server
- Omówienie
- 1.11. Odnajdywanie wartości pustych (NULL)
- Problem
- Rozwiązanie
- Omówienie
- 1.12. Przekształcanie wartości pustych w rzeczywiste
- Problem
- Rozwiązanie
- Omówienie
- 1.13. Poszukiwanie wzorców
- Problem
- Rozwiązanie
- Omówienie
- 1.14. Podsumowanie
- 1.1. Odczytywanie wszystkich wierszy i kolumn tabeli
- Rozdział 2. Sortowanie wyników zapytań
- 2.1. Zwracanie wyników zapytań posortowanych w określonym porządku
- Problem
- Rozwiązanie
- Omówienie
- 2.2. Sortowanie zbioru wynikowego według zawartości wielu pól
- Problem
- Rozwiązanie
- Omówienie
- 2.3. Sortowanie według podłańcuchów
- Problem
- Rozwiązanie
- DB2, MySQL, Oracle i PostgreSQL
- SQL Server
- Omówienie
- 2.4. Sortowanie wymieszanych danych alfanumerycznych
- Problem
- Rozwiązanie
- Oracle, SQL Server i PostgreSQL
- DB2
- MySQL
- Omówienie
- 2.5. Obsługa wartości pustych w zapytaniach sortujących
- Problem
- Rozwiązanie
- DB2, MySQL, PostgreSQL oraz SQL Server
- Oracle
- Omówienie
- 2.6. Sortowanie według klucza zależnego od danych
- Problem
- Rozwiązanie
- Omówienie
- 2.7. Podsumowanie
- 2.1. Zwracanie wyników zapytań posortowanych w określonym porządku
- Rozdział 3. Praca z wieloma tabelami
- 3.1. Umieszczanie jednego zbioru wierszy ponad drugim
- Problem
- Rozwiązanie
- Omówienie
- 3.2. Łączenie wzajemnie powiązanych wierszy
- Problem
- Rozwiązanie
- Omówienie
- 3.3. Odnajdywanie wspólnych wierszy pomiędzy dwiema tabelami
- Problem
- Rozwiązanie
- MySQL i SQL Server
- DB2, Oracle i PostgreSQL
- Omówienie
- 3.4. Uzyskiwanie z jednej tabeli tylko tych wartości, które nie występują w innej tabeli
- Problem
- Rozwiązanie
- DB2, PostgreSQL i SQL Server
- Oracle
- MySQL
- Omówienie
- DB2, PostgreSQL i SQL Server
- Oracle
- MySQL
- 3.5. Uzyskiwanie z jednej tabeli tylko tych wierszy, dla których nie istnieją odpowiedniki w innej tabeli
- Problem
- Rozwiązanie
- DB2, MySQL, PostgreSQL, Oracle, SQL Server
- Omówienie
- 3.6. Dodawanie złączeń do zapytań bez konieczności modyfikowania pozostałych, już istniejących złączeń
- Problem
- Rozwiązanie
- Omówienie
- Patrz także
- 3.7. Określanie, czy dwie tabele zawierają te same dane
- Problem
- Rozwiązanie
- DB2 i PostgreSQL
- Oracle
- MySQL i SQL Server
- Omówienie
- DB2, Oracle i PostgreSQL
- MySQL i SQL Server
- 3.8. Identyfikowanie i eliminowanie iloczynów kartezjańskich
- Problem
- Rozwiązanie
- Omówienie
- 3.9. Stosowanie złączeń w zapytaniach wykorzystujących funkcje agregujące
- Problem
- Rozwiązanie
- MySQL i PostgreSQL
- DB2, Oracle i SQL Server
- Omówienie
- MySQL i PostgreSQL
- DB2, Oracle i SQL Server
- 3.10. Stosowanie złączeń zewnętrznych w zapytaniach wykorzystujących funkcje agregujące
- Problem
- Rozwiązanie
- DB2, MySQL, PostgreSQL i SQL Server
- Omówienie
- 3.11. Zwracanie brakujących danych z wielu tabel
- Problem
- Rozwiązanie
- DB2, MySQL, PostgreSQL i SQL Server
- Oracle
- Omówienie
- 3.12. Wykorzystywanie wartości NULL w operacjach i porównaniach
- Problem
- Rozwiązanie
- Omówienie
- 3.13. Podsumowanie
- 3.1. Umieszczanie jednego zbioru wierszy ponad drugim
- Rozdział 4. Wstawianie, aktualizowanie i usuwanie
- 4.1. Wstawianie nowych rekordów
- Problem
- Rozwiązanie
- Omówienie
- 4.2. Wstawianie wartości domyślnych
- Problem
- Rozwiązanie
- Omówienie
- 4.3. Zastępowanie wartości domyślnych wartością NULL
- Problem
- Rozwiązanie
- Omówienie
- 4.4. Kopiowanie wierszy pomiędzy tabelami
- Problem
- Rozwiązanie
- Omówienie
- 4.5. Kopiowanie definicji tabel
- Problem
- Rozwiązanie
- DB2
- Oracle, MySQL i PostgreSQL
- SQL Server
- Omówienie
- DB2
- Oracle, MySQL i PostgreSQL
- SQL Server
- 4.6. Wstawianie wierszy do wielu tabel jednocześnie
- Problem
- Rozwiązanie
- Oracle
- DB2
- MySQL, PostgreSQL oraz SQL Server
- Omówienie
- Oracle
- DB2
- MySQL, PostgreSQL oraz SQL Server
- 4.7. Blokowanie możliwości wstawiania wartości do wybranych kolumn
- Problem
- Rozwiązanie
- Omówienie
- 4.8. Modyfikowanie rekordów tabeli
- Problem
- Rozwiązanie
- Omówienie
- 4.9. Aktualizowanie danych pod warunkiem istnienia w tabeli określonych wierszy
- Problem
- Rozwiązanie
- Omówienie
- 4.10. Aktualizowanie wartości według zawartości innej tabeli
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL, SQL Server i MySQL
- 4.11. Scalanie rekordów
- Problem
- Rozwiązanie
- Omówienie
- 4.12. Usuwanie wszystkich rekordów z tabeli
- Problem
- Rozwiązanie
- Omówienie
- 4.13. Usuwanie rekordów spełniających określone kryteria
- Problem
- Rozwiązanie
- Omówienie
- 4.14. Usuwanie pojedynczych rekordów
- Problem
- Rozwiązanie
- Omówienie
- 4.15. Usuwanie wierszy naruszających integralność referencyjną
- Problem
- Rozwiązanie
- Omówienie
- 4.16. Usuwanie powtarzających się rekordów
- Problem
- Rozwiązanie
- Omówienie
- 4.17. Usuwanie rekordów na podstawie danych z innej tabeli
- Problem
- Rozwiązanie
- Omówienie
- 4.18. Podsumowanie
- 4.1. Wstawianie nowych rekordów
- Rozdział 5. Zapytania przetwarzające metadane
- 5.1. Generowanie listy tabel wchodzących w skład schematu bazy danych
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL, MySQL i SQL Server
- Omówienie
- 5.2. Generowanie listy kolumn danej tabeli
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL, MySQL i SQL Server
- Omówienie
- 5.3. Generowanie listy indeksowanych kolumn danej tabeli
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- 5.4. Generowanie listy ograniczeń zdefiniowanych dla tabeli
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL, MySQL i SQL Server
- Omówienie
- 5.5. Generowanie listy kluczy obcych pozbawionych indeksów
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- 5.6. Generowanie kodu języka SQL za pomocą wyrażeń tego języka
- Problem
- Rozwiązanie
- Omówienie
- 5.7. Opisywanie widoków słownika danych w bazie danych Oracle
- Problem
- Rozwiązanie
- Omówienie
- 5.8. Podsumowanie
- 5.1. Generowanie listy tabel wchodzących w skład schematu bazy danych
- Rozdział 6. Praca z łańcuchami
- 6.1. Przechodzenie pomiędzy znakami łańcucha
- Problem
- Rozwiązanie
- Omówienie
- 6.2. Umieszczanie apostrofów w stałych łańcuchowych
- Problem
- Rozwiązanie
- Omówienie
- 6.3. Zliczanie wystąpień znaku w łańcuchu wejściowym
- Problem
- Rozwiązanie
- Omówienie
- 6.4. Usuwanie z łańcucha niechcianych znaków
- Problem
- Rozwiązanie
- DB2, Oracle, PostgreSQL i SQL Server
- MySQL
- Omówienie
- 6.5. Oddzielanie danych numerycznych od danych znakowych
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- 6.6. Określanie, czy łańcuch jest ciągiem alfanumerycznym
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle i PostgreSQL
- SQL Server
- Omówienie
- DB2, Oracle, PostgreSQL i SQL Server
- MySQL
- 6.7. Określanie inicjałów na podstawie całych imion i nazwisk
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle i PostgreSQL
- SQL Server
- Omówienie
- DB2
- Oracle i PostgreSQL
- MySQL
- 6.8. Sortowanie kolumn według wybranych fragmentów łańcuchów
- Problem
- Rozwiązanie
- DB2, Oracle, MySQL i PostgreSQL
- SQL Server
- Omówienie
- 6.9. Sortowanie danych według liczb zapisanych w łańcuchach
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- Omówienie
- 6.10. Tworzenie listy wartości oddzielonych przecinkami z danych zawartych w wierszach tabeli
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL i SQL Server
- Omówienie
- MySQL
- PostgreSQL i SQL Server
- Oracle
- 6.11. Konwertowanie danych oddzielonych przecinkami na wielowartościową listę IN
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- DB2 i SQL Server
- MySQL
- Oracle
- PostgreSQL
- 6.12. Sortowanie znaków w łańcuchach w porządku alfabetycznym
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- SQL Server
- MySQL
- Oracle
- PostgreSQL i DB2
- 6.13. Identyfikowanie łańcuchów, które można traktować jak liczby
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- DB2, Oracle i PostgreSQL
- MySQL
- 6.14. Odnajdywanie n-tego podłańcucha na liście oddzielonej przecinkami
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- DB2
- MySQL
- SQL Server
- Oracle
- PostgreSQL
- 6.15. Przetwarzanie adresów IP
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- 6.16. Porównywanie łańcuchów znaków na podstawie brzmienia
- Problem
- Rozwiązanie
- Omówienie
- 6.17. Wyszukiwanie tekstu niepasującego do wzorca
- Problem
- Rozwiązanie
- Omówienie
- 6.18. Podsumowanie
- 6.1. Przechodzenie pomiędzy znakami łańcucha
- Rozdział 7. Praca z liczbami
- 7.1. Wyznaczanie wartości średniej
- Problem
- Rozwiązanie
- Omówienie
- Patrz także
- 7.2. Identyfikacja minimalnej i maksymalnej wartości w kolumnie
- Problem
- Rozwiązanie
- Omówienie
- Patrz także
- 7.3. Sumowanie wartości składowanych w kolumnie
- Problem
- Rozwiązanie
- Omówienie
- Patrz także
- 7.4. Zliczanie wierszy tabeli
- Problem
- Rozwiązanie
- Omówienie
- Patrz także
- 7.5. Zliczanie różnych wartości w kolumnie
- Problem
- Rozwiązanie
- Omówienie
- 7.6. Generowanie sum bieżących
- Problem
- Rozwiązanie
- Omówienie
- 7.7. Generowanie iloczynów bieżących
- Problem
- Rozwiązanie
- Omówienie
- 7.8. Wygładzanie serii wartości
- Problem
- Rozwiązanie
- Omówienie
- 7.9. Wyznaczanie wartości modalnej (dominanty)
- Problem
- Rozwiązanie
- DB2, MySQL, PostgreSQL i SQL Server
- Oracle
- Omówienie
- DB2, MySQL, PostgreSQL i SQL Server
- Oracle
- Patrz także
- 7.10. Wyznaczanie mediany
- Problem
- Rozwiązanie
- DB2 i PostgreSQL
- SQL Server
- MySQL
- Oracle
- Omówienie
- Oracle, PostgreSQL, SQL Server i DB2
- MySQL
- 7.11. Określanie procentowego udziału w wartości łącznej
- Problem
- Rozwiązanie
- MySQL i PostgreSQL
- DB2, Oracle i SQL Server
- Omówienie
- MySQL i PostgreSQL
- DB2, Oracle i SQL Server
- 7.12. Agregowanie kolumn zawierających wartości NULL
- Problem
- Rozwiązanie
- Omówienie
- 7.13. Wyznaczanie wartości średnich z wyłączeniem wartości spoza określonego przedziału
- Problem
- Rozwiązanie
- MySQL i PostgreSQL
- DB2, Oracle i SQL Server
- Omówienie
- MySQL i PostgreSQL
- DB2, Oracle i SQL Server
- 7.14. Wyodrębnianie liczb z łańcuchów alfanumerycznych
- Problem
- Rozwiązanie
- DB2
- Oracle, SQL Server i PostgreSQL
- MySQL
- Omówienie
- 7.15. Modyfikowanie wartości uwzględnianych w sumach bieżących
- Problem
- Rozwiązanie
- Omówienie
- 7.16. Znajdowanie wartości odstających metodą mediany odchylenia bezwzględnego
- Problem
- Rozwiązanie
- SQL Server
- PostgreSQL i DB2
- Oracle
- MySQL
- Omówienie
- 7.17. Wyszukiwanie anomalii przy użyciu prawa Benforda
- Problem
- Rozwiązanie
- Omówienie
- 7.18. Podsumowanie
- 7.1. Wyznaczanie wartości średniej
- Rozdział 8. Działania na datach
- 8.1. Dodawanie i odejmowanie dni, miesięcy i lat
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- 8.2. Określanie liczby dni pomiędzy dwiema datami
- Problem
- Rozwiązanie
- DB2
- Oracle i PostgreSQL
- MySQL i SQL Server
- Omówienie
- 8.3. Określanie liczby dni roboczych pomiędzy dwiema datami
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- 8.4. Określanie liczby miesięcy lub lat dzielących dwie daty
- Problem
- Rozwiązanie
- DB2 i MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- DB2, MySQL i PostgreSQL
- Oracle i SQL Server
- 8.5. Określanie liczby sekund, minut lub godzin dzielących dwie daty
- Problem
- Rozwiązanie
- DB2
- MySQL
- SQL Server
- Oracle i PostgreSQL
- Omówienie
- 8.6. Zliczanie wystąpień poszczególnych dni tygodnia w roku
- Problem
- Rozwiązanie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- Omówienie
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- 8.7. Określanie różnicy dat między rekordem bieżącym a następnym
- Problem
- Rozwiązanie
- DB2
- MySQL i SQL Server
- Oracle
- PostgreSQL
- Omówienie
- 8.8. Podsumowanie
- 8.1. Dodawanie i odejmowanie dni, miesięcy i lat
- Rozdział 9. Przetwarzanie dat
- 9.1. Określanie, czy dany rok jest rokiem przestępnym
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- 9.2. Określanie liczby dni w roku
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- 9.3. Wyodrębnianie jednostek czasu z dat wejściowych
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- 9.4. Określanie pierwszego i ostatniego dnia miesiąca
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- 9.5. Określanie wszystkich dat występowania konkretnego dnia tygodnia w ciągu danego roku
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- 9.6. Określanie dat pierwszego i ostatniego wystąpienia określonego dnia tygodnia w danym miesiącu
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2 i SQL Server
- Oracle
- PostgreSQL i MySQL
- 9.7. Tworzenie kalendarza
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- MySQL, PostgreSQL i SQL Server
- 9.8. Generowanie dat rozpoczynających i kończących poszczególne kwartały danego roku
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL, MySQL i SQL Server
- 9.9. Określanie daty początkowej i końcowej dla danego kwartału
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- 9.10. Uzupełnianie brakujących dat
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- Omówienie
- DB2
- Oracle
- PostgreSQL
- MySQL
- SQL Server
- 9.11. Przeszukiwanie według określonych jednostek czasu
- Problem
- Rozwiązanie
- DB2 i MySQL
- Oracle i PostgreSQL
- SQL Server
- Omówienie
- 9.12. Porównywanie rekordów według określonych fragmentów dat
- Problem
- Rozwiązanie
- DB2
- Oracle i PostgreSQL
- MySQL
- SQL Server
- Omówienie
- 9.13. Identyfikacja wzajemnie pokrywających się przedziałów czasowych
- Problem
- Rozwiązanie
- DB2, PostgreSQL i Oracle
- MySQL
- SQL Server
- Omówienie
- 9.14. Podsumowanie
- 9.1. Określanie, czy dany rok jest rokiem przestępnym
- Rozdział 10. Praca z przedziałami
- 10.1. Lokalizowanie przedziałów w ramach ciągów wartości
- Problem
- Rozwiązanie
- Omówienie
- DB2, MySQL, PostgreSQL, SQL Server i Oracle
- 10.2. Odnajdywanie różnic pomiędzy wierszami należącymi do tej samej grupy lub partycji danych
- Problem
- Rozwiązanie
- Omówienie
- 10.3. Lokalizowanie początków i końców przedziałów wartości następujących bezpośrednio po sobie
- Problem
- Rozwiązanie
- Omówienie
- 10.4. Uzupełnianie brakujących wartości w przedziale
- Problem
- Rozwiązanie
- DB2
- Oracle
- PostgreSQL i MySQL
- SQL Server
- Omówienie
- 10.5. Generowanie kolejnych wartości liczbowych
- Problem
- Rozwiązanie
- DB2 i SQL Server
- Oracle
- PostgreSQL
- Omówienie
- DB2 i SQL Server
- Oracle
- PostgreSQL
- 10.6. Podsumowanie
- 10.1. Lokalizowanie przedziałów w ramach ciągów wartości
- Rozdział 11. Zaawansowane przeszukiwanie
- 11.1. Podział zbioru wynikowego na strony
- Problem
- Rozwiązanie
- Omówienie
- 11.2. Pomijanie n wierszy tabeli
- Problem
- Rozwiązanie
- Omówienie
- 11.3. Stosowanie logiki alternatywy w zapytaniach wykorzystujących złączenia zewnętrzne
- Problem
- Rozwiązanie
- Omówienie
- DB2, MySQL, PostgreSQL i SQL Server
- 11.4. Identyfikacja par odwrotnych w przetwarzanym zbiorze wierszy
- Problem
- Rozwiązanie
- Omówienie
- 11.5. Wybieranie n pierwszych rekordów
- Problem
- Rozwiązanie
- Omówienie
- 11.6. Odnajdywanie rekordów z największymi i najmniejszymi wartościami
- Problem
- Rozwiązanie
- DB2, Oracle i SQL Server
- Omówienie
- DB2, Oracle i SQL Server
- 11.7. Badanie przyszłych wierszy
- Problem
- Rozwiązanie
- Omówienie
- Patrz także
- 11.8. Przenoszenie wartości wierszy
- Problem
- Rozwiązanie
- Omówienie
- 11.9. Tworzenie rankingu rezultatów
- Problem
- Rozwiązanie
- Omówienie
- 11.10. Eliminowanie powtórzeń
- Problem
- Rozwiązanie
- Klasyczne rozwiązania
- Omówienie
- Klasyczne rozwiązania
- 11.11. Odnajdywanie wartości skoczka
- Problem
- Rozwiązanie
- DB2 i SQL Server
- Oracle
- Omówienie
- DB2 i SQL Server
- Oracle
- 11.12. Generowanie prostych prognoz
- Problem
- Rozwiązanie
- DB2, MySQL i SQL Server
- Oracle
- PostgreSQL
- Omówienie
- DB2, MySQL i SQL Server
- Oracle
- PostgreSQL
- 11.13. Podsumowanie
- 11.1. Podział zbioru wynikowego na strony
- Rozdział 12. Raportowanie i przekształcanie danych
- 12.1. Konwertowanie zbioru wynikowego do postaci pojedynczego wiersza
- Problem
- Rozwiązanie
- Omówienie
- 12.2. Konwertowanie zbioru wynikowego do postaci zbioru wielowierszowego
- Problem
- Rozwiązanie
- Omówienie
- 12.3. Odwrotna transpozycja zbioru wynikowego
- Problem
- Rozwiązanie
- Omówienie
- 12.4. Odwrotna transpozycja zbioru danych do postaci zbioru jednokolumnowego
- Problem
- Rozwiązanie
- Omówienie
- 12.5. Eliminowanie powtórzeń ze zbioru wynikowego
- Problem
- Rozwiązanie
- Omówienie
- 12.6. Przekształcanie zbioru wynikowego w celu ułatwienia obliczeń na wierszach
- Problem
- Rozwiązanie
- Omówienie
- 12.7. Tworzenie bloków danych tej samej wielkości
- Problem
- Rozwiązanie
- Omówienie
- 12.8. Tworzenie predefiniowanej liczby bloków danych
- Problem
- Rozwiązanie
- Omówienie
- 12.9. Tworzenie histogramów poziomych
- Problem
- Rozwiązanie
- DB2
- Oracle, PostgreSQL i MySQL
- SQL Server
- Omówienie
- 12.10. Tworzenie histogramów pionowych
- Problem
- Rozwiązanie
- Omówienie
- 12.11. Zwracanie zbiorów wynikowych bez kolumn wykorzystywanych w procesie grupowania
- Problem
- Rozwiązanie
- Omówienie
- 12.12. Wyznaczanie prostych sum częściowych
- Problem
- Rozwiązanie
- DB2 i Oracle
- SQL Server i MySQL
- PostgreSQL
- Omówienie
- DB2 i Oracle
- SQL Server i MySQL
- PostgreSQL
- 12.13. Wyznaczanie sum częściowych dla wszystkich możliwych kombinacji wyrażeń
- Problem
- Rozwiązanie
- DB2
- Oracle
- SQL Server
- PostgreSQL
- MySQL
- Omówienie
- Oracle, DB2 i SQL Server
- MySQL
- 12.14. Identyfikowanie wierszy niebędących sumami częściowymi
- Problem
- Rozwiązanie
- Omówienie
- 12.15. Konwertowanie wierszy na wersję bitową za pomocą wyrażeń CASE
- Problem
- Rozwiązanie
- Omówienie
- 12.16. Tworzenie tzw. macierzy rzadkich
- Problem
- Rozwiązanie
- Omówienie
- 12.17. Grupowanie wierszy według określonych jednostek czasu
- Problem
- Rozwiązanie
- Omówienie
- 12.18. Jednoczesne agregowanie danych według różnych grup i bloków
- Problem
- Rozwiązanie
- Omówienie
- 12.19. Agregowanie zmiennych (ruchomych) przedziałów wartości
- Problem
- Rozwiązanie
- DB2 i Oracle
- MySQL
- PostgreSQL i SQL Server
- Omówienie
- DB2, MySQL i Oracle
- PostgreSQL i SQL Server
- 12.20. Obracanie zbioru wynikowego zawierającego sumy częściowe
- Problem
- Rozwiązanie
- DB2 i Oracle
- SQL Server
- PostgreSQL
- MySQL
- Omówienie
- 12.21. Podsumowanie
- 12.1. Konwertowanie zbioru wynikowego do postaci pojedynczego wiersza
- Rozdział 13. Zapytania hierarchiczne
- 13.1. Wyrażanie relacji rodzic potomek
- Problem
- Rozwiązanie
- DB2, Oracle i PostgreSQL
- MySQL
- SQL Server
- Omówienie
- 13.2. Wyrażanie relacji potomek rodzic dziadek
- Problem
- Rozwiązanie
- DB2, PostgreSQL i SQL Server
- MySQL
- Oracle
- Omówienie
- Oracle
- 13.3. Tworzenie hierarchicznego widoku tabeli
- Problem
- Rozwiązanie
- DB2, PostgreSQL i SQL Server
- MySQL
- Oracle
- Omówienie
- DB2, MySQL, PostgreSQL i SQL Server
- Oracle
- 13.4. Odnajdywanie wszystkich wierszy potomnych dla danego wiersza rodzica
- Problem
- Rozwiązanie
- DB2, PostgreSQL i SQL Server
- Oracle
- Omówienie
- DB2, MySQL, PostgreSQL i SQL Server
- Oracle
- 13.5. Określanie wierszy występujących w rolach liści, gałęzi i korzeni
- Problem
- Rozwiązanie
- DB2, PostgreSQL, MySQL i SQL Server
- Oracle
- Omówienie
- DB2, PostgreSQL, MySQL i SQL Server
- Oracle
- 13.6. Podsumowanie
- 13.1. Wyrażanie relacji rodzic potomek
- Rozdział 14. Rozmaitości
- 14.1. Tworzenie raportów krzyżowych za pomocą operatora PIVOT systemu SQL Server
- Problem
- Rozwiązanie
- Omówienie
- 14.2. Odtwarzanie układu raportów krzyżowych za pomocą operatora UNPIVOT systemu SQL Server
- Problem
- Rozwiązanie
- 14.3. Transponowanie zbiorów wynikowych za pomocą klauzuli MODEL systemu Oracle
- Problem
- Rozwiązanie
- Omówienie
- 14.4. Wyodrębnianie z łańcucha elementów o nieustalonym położeniu
- Problem
- Rozwiązanie
- Omówienie
- 14.5. Znajdowanie liczby dni w roku (rozwiązanie alternatywne tylko dla systemu Oracle)
- Problem
- Rozwiązanie
- Omówienie
- 14.6. Przeszukiwanie danych wejściowych pod kątem zawierania łańcuchów alfanumerycznych
- Problem
- Rozwiązanie
- Omówienie
- 14.7. Konwertowanie liczb całkowitych na system dwójkowy w systemie Oracle
- Problem
- Rozwiązanie
- Omówienie
- 14.8. Obracanie zbioru wynikowego z wartościami rankingowymi
- Problem
- Rozwiązanie
- Omówienie
- 14.9. Wstawianie nagłówków kolumn w dwukrotnie obróconych zbiorach wynikowych
- Problem
- Rozwiązanie
- Omówienie
- 14.10. Konwertowanie podzapytań skalarnych na podzapytania złożone w systemie Oracle
- Problem
- Rozwiązanie
- Omówienie
- 14.11. Przenoszenie uszeregowanych danych do osobnych wierszy
- Problem
- Rozwiązanie
- Omówienie
- 14.12. Wyznaczanie procentowych stosunków poszczególnych wartości względem sumy wszystkich wartości
- Problem
- Rozwiązanie
- Omówienie
- 14.13. Testowanie występowania wartości w grupie
- Problem
- Rozwiązanie
- Omówienie
- 14.14. Podsumowanie
- 14.1. Tworzenie raportów krzyżowych za pomocą operatora PIVOT systemu SQL Server
- Dodatek A Przypomnienie funkcji okna
- Grupowanie
- Definicja grupy w języku SQL
- Grupy nie mogą być puste
- Grupy i różne wartości
- Funkcja COUNT nigdy nie zwraca zera
- Paradoksy
- Relacje łączące klauzule SELECT i GROUP BY
- Definicja grupy w języku SQL
- Tworzenie okien
- Prosty przykład
- Kolejność przetwarzania składników zapytań
- Partycje
- Skutki występowania wartości NULL
- Kiedy kolejność ma znaczenie
- Klauzula ramkowania
- Ostatnie słowo o ramkowaniu
- Czytelność + Wydajność = Moc
- Generowanie zbiorów bazowych
- Grupowanie
- Dodatek B Wyrażenia tablicowe (CTE)
- Podzapytania
- Wyrażenia tablicowe
- Podsumowanie
- O autorach
- Kolofon
- Title: SQL. Zapytania i techniki dla bazodanowców. Receptury. Wydanie II
- Author: Anthony Molinaro, Robert de Graaf
- Original title: SQL Cookbook: Query Solutions and Techniques for All SQL Users, 2nd Edition
- Translation: Mikołaj Szczepaniak, Piotr Cieślak
- ISBN: 978-83-283-7848-3, 9788328378483
- Date of issue: 2021-08-10
- Format: Ebook
- Item ID: sqlzr2
- Publisher: Helion