SQL ZAPYTANIA I TECHNIKI DLA BAZODANOWCÓW RECEPTURY

116.10

Na stanie

Spis treści

  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
    • 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
  • Dodatek B Wyrażenia tablicowe (CTE)
    • Podzapytania
    • Wyrażenia tablicowe
    • Podsumowanie
      • O autorach
      • Kolofon
Autor

ISBN

978-83-283-7847-6

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „SQL ZAPYTANIA I TECHNIKI DLA BAZODANOWCÓW RECEPTURY”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *