ZAPYTANIA W SQL PRZYJAZNY PRZEWODNIK WYD.IV

129.00

Na stanie

Spis treści

  • Opinie o książce Zapytania w SQL. Przyjazny przewodnik
  • Słowo wstępne
  • Przedmowa
    • Podziękowania
  • O autorze
  • Wstęp
    • Czy ta książka jest dla Ciebie?
    • O tej książce
    • Czego nie należy oczekiwać po tej książce
    • Jak korzystać z tej książki
    • Interpretowanie diagramów zamieszczonych w tej książce
    • Przykładowe bazy danych użyte w tej książce
      • Podążaj drogą wybrukowaną żółtą kostką
  • Część I Relacyjne bazy danych i SQL
  • 1 Co to znaczy relacyjna?
    • Rodzaje baz danych
    • Krótka historia modelu relacyjnego
      • Na początku był…
      • Systemy relacyjnych baz danych
    • Anatomia relacyjnej bazy danych
      • Tabele
      • Kolumny
      • Wiersze
      • Klucze
      • Widoki
      • Zależności
        • Jeden do jednego
        • Jeden do wielu
        • Wiele do wielu
    • Co to oznacza dla Ciebie?
      • Co dalej?
    • Podsumowanie
  • 2 Prawidłowa struktura bazy danych
    • Skąd wziął się tutaj ten rozdział?
    • Dlaczego warto się troszczyć o prawidłowe struktury?
    • Optymalizacja kolumn
      • Odpowiednie dać rzeczy słowo (część pierwsza)
      • Kosmetyka
      • Eliminowanie kolumn wieloczęściowych
      • Eliminowanie pól wielowartościowych
    • Optymalizacja tabel
      • Odpowiednie dać rzeczy słowo (część druga)
      • Zapewnianie prawidłowej struktury
      • Usuwanie zbędnych, powtarzających się kolumn
      • Identyfikacja to klucz
    • Definiowanie poprawnych zależności
      • Definiowanie reguły usuwania
      • Definiowanie rodzaju uczestnictwa
      • Określanie stopnia uczestnictwa
    • I to już wszystko?
    • Podsumowanie
  • 3 Krótka historia SQL
    • Początki SQL
    • Wczesne implementacje niezależnych producentów
    • …i wtedy narodził się standard
    • Ewolucja norm ANSI/ISO
      • Inne standardy SQL
    • Implementacje komercyjne
    • Co przyniesie przyszłość?
    • Dlaczego warto się uczyć SQL?
    • Która wersja SQL została opisana w tej książce?
    • Podsumowanie
  • Część II Podstawy SQL
  • 4 Tworzenie prostego zapytania
    • SELECT wprowadzenie
    • Instrukcja SELECT
    • Krótka dygresja: dane a informacje
    • Przekładanie żądania na SQL
      • Rozszerzanie zakresu działań
      • Zastosowanie skrótu umożliwiającego odwołanie do wszystkich kolumn
    • Eliminowanie powtarzających się wierszy
    • Sortowanie informacji
      • Zacznijmy od podstaw: kolejność sortowania
      • Przywołajmy wyniki do porządku
    • Zapisywanie pracy
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja rozrywkowa
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • 5 Nie tylko zwykłe kolumny
    • Czym jest wyrażenie?
    • Jakich typów danych można użyć w wyrażeniu?
    • Zmiana typu danych funkcja CAST
    • Podawanie konkretnych wartości
      • Literały w postaci łańcucha znaków
      • Literały numeryczne
      • Literały w postaci wartości daty i czasu
    • Rodzaje wyrażeń
      • Konkatenacja
      • Wyrażenia matematyczne
      • Działania arytmetyczne na datach i godzinach
        • Wyrażenia z użyciem dat
        • Wyrażenia z użyciem czasu
    • Zastosowanie wyrażeń w klauzuli SELECT
      • Zastosowanie wyrażeń konkatenacji
      • Nazywanie wyrażenia
      • Zastosowanie wyrażeń matematycznych
      • Zastosowanie wyrażeń z użyciem dat
      • Krótka dygresja: wyrażenia wartości
    • Żadna wartość, czyli Null
      • Wprowadzenie wartości Null
      • Problem z Null
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
  • 6 Filtrowanie danych
    • Uściślanie wyników za pomocą klauzuli WHERE
      • Klauzula WHERE
      • Zastosowanie klauzuli WHERE
    • Definiowanie warunków wyszukiwania
      • Porównanie
        • Uwaga dotycząca porównywania ciągów znaków
        • Równość i nierówność
        • Mniejszy niż i większy niż
      • Zakres
      • Przynależność
      • Dopasowywanie do wzorca
      • Null
      • Wykluczanie wierszy przy użyciu operatora NOT
    • Stosowanie wielu warunków
      • Operatory AND i OR
        • Zastosowanie operatora AND
        • Zastosowanie operatora OR
        • Łączne zastosowanie operatorów AND i OR
      • Wykluczanie wierszy drugie podejście
      • Kolejność operatorów
        • Priorytety kryteriów
        • Im oszczędniej, tym lepiej
      • Sprawdzanie nakładających się zakresów
    • Jeszcze o Null: mała przestroga
    • Różne metody konstruowania wyrażeń warunkowych
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja reklamowa
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • Część III Praca z wieloma tabelami
  • 7 Myślenie zbiorami
    • Cóż to takiego ten zbiór?
    • Działania na zbiorach
    • Część wspólna
      • Część wspólna w teorii zbiorów
      • Część wspólna zbiorów rezultatów
      • Problemy, jakie można rozwiązywać dzięki znalezieniu części wspólnej
    • Różnica
      • Różnica w teorii zbiorów
      • Różnica między zbiorami rezultatów
      • Problemy, jakie można rozwiązywać poprzez znajdowanie różnicy
    • Suma
      • Suma w teorii zbiorów
      • Suma zbiorów rezultatów
      • Problemy, jakie można rozwiązywać poprzez znajdowanie części wspólnej
    • SQL i działania na zbiorach
      • Klasyczne działania na zbiorach a ich warianty w SQL
      • Znajdowanie wartości wspólnych: INTERSECT
      • Znajdowanie brakujących wartości: EXCEPT (różnica)
      • Łączenie zbiorów: UNION
    • Podsumowanie
  • 8 Złączenie INNER JOIN
    • Co to jest JOIN?
    • Złączenie INNER JOIN
      • Co można legalnie poddawać operacji JOIN?
      • Odwołania do kolumn
      • Składnia
        • Zastosowanie tabel
        • Przypisywanie nazw korelacji (aliasów) do tabel
        • Osadzanie instrukcji SELECT
        • Zagnieżdżanie klauzul JOIN w innych klauzulach JOIN
      • Sprawdź zależności!
    • Zastosowania INNER JOIN
      • Znajdowanie powiązanych wierszy
      • Znajdowanie pasujących wartości
    • Przykładowe instrukcje
      • Dwie tabele
        • Baza danych Zamówienia
        • Baza danych Agencja artystyczna
        • Baza danych Grafik uczelni
        • Baza danych Liga kręglarska
        • Baza danych Przepisy
      • Więcej niż dwie tabele
        • Baza danych Zamówienia
        • Baza danych Agencja artystyczna
        • Baza danych Liga kręglarska
        • Baza danych Przepisy
      • Szukanie pasujących wartości
        • Baza danych Zamówienia
        • Baza danych Agencja artystyczna
        • Baza danych Grafik uczelni
        • Baza danych Liga kręglarska
        • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • 9 Złączenie OUTER JOIN
    • Co to jest OUTER JOIN?
    • Złączenie LEFT/RIGHT OUTER JOIN
      • Składnia
        • Zastosowanie tabel
        • Osadzanie instrukcji SELECT
        • Zagnieżdżanie klauzul JOIN w innych klauzulach JOIN
    • Złączenie FULL OUTER JOIN
      • Składnia
      • FULL OUTER JOIN na wartościach niebędących kluczami
      • Złączenie UNION JOIN
    • Zastosowania OUTER JOIN
      • Wyszukiwanie brakujących wartości
      • Wyszukiwanie częściowo pasujących informacji
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • 10 Operacja UNION
    • Co to jest UNION?
    • Tworzenie zapytań z użyciem UNION
      • Zastosowanie prostych instrukcji SELECT
      • Łączenie złożonych instrukcji SELECT
      • Zastosowanie operacji UNION więcej niż raz
      • Sortowanie w operacji UNION
    • Zastosowania UNION
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • 11 Podzapytania
    • Co to jest podzapytanie?
      • Podzapytania o wiersze
      • Podzapytania o tabele
      • Podzapytania skalarne
    • Podzapytania służące do generowania kolumn
      • Składnia
      • Wstęp do funkcji agregujących: COUNT i MAX
    • Podzapytania jako filtry
      • Składnia
      • Specjalne słowa kluczowe dla predykatów w podzapytaniach
        • Określanie przynależności: IN
        • Predykaty z użyciem kwantyfikatorów: ALL, SOME i ANY
        • Sprawdzanie istnienia: EXISTS
    • Zastosowania podzapytań
      • Używanie podzapytań w zapytaniach generujących kolumny
      • Zastosowanie podzapytań w roli filtrów
    • Przykładowe instrukcje
      • Podzapytania w wyrażeniach
        • Baza danych Zamówienia
        • Baza danych Agencja artystyczna
        • Baza danych Grafik uczelni
        • Baza danych Liga kręglarska
        • Baza danych Przepisy
      • Podzapytania w filtrach
        • Baza danych Zamówienia
        • Baza danych Agencja artystyczna
        • Baza danych Grafik uczelni
        • Baza danych Liga kręglarska
        • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • Część IV Podsumowywanie i grupowanie danych
  • 12 Proste zestawienia
    • Funkcje agregujące
      • Zliczanie wierszy i wartości z użyciem funkcji COUNT
        • Zliczanie wszystkich wierszy
        • Zliczanie wartości w kolumnie lub w wyrażeniu
      • Wyliczanie łącznej wartości za pomocą funkcji SUM
      • Obliczanie wartości średniej za pomocą funkcji AVG
      • Wyszukiwanie największej wartości za pomocą funkcji MAX
      • Wyszukiwanie najmniejszej wartości za pomocą funkcji MIN
      • Zastosowanie więcej niż jednej funkcji
    • Zastosowanie funkcji agregujących w filtrach
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • 13 Grupowanie danych
    • Po co grupować dane?
    • Klauzula GROUP BY
      • Składnia
      • Mieszanie kolumn i wyrażeń
      • Zastosowanie klauzuli GROUP BY w podzapytaniu w klauzuli WHERE
      • Symulowanie instrukcji SELECT DISTINCT
    • Z pewnymi zastrzeżeniami
      • Zastrzeżenia dotyczące kolumn
      • Grupowanie według wyrażeń
    • Zastosowania GROUP BY
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • 14 Filtrowanie zgrupowanych danych
    • Selekcja niejedno ma imię
    • Miejsce filtrowania nie jest bez znaczenia
      • Filtrowanie w klauzuli WHERE czy w HAVING?
      • Unikanie pułapki z HAVING COUNT
    • Zastosowania HAVING
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • Część V Modyfikowanie zbiorów danych
  • 15 Aktualizowanie zbiorów danych
    • Co to jest UPDATE?
    • Instrukcja UPDATE
      • Zastosowanie prostego wyrażenia UPDATE
        • Aktualizowanie wybranych wierszy
        • Bezpieczeństwo przede wszystkim: upewnij się, że aktualizujesz właściwe wiersze
      • Krótka dygresja: transakcje
      • Aktualizowanie wielu kolumn
      • Użycie podzapytania do filtrowania wierszy
    • Niektóre systemy baz danych umożliwiają stosowanie złączeń JOIN w klauzuli UPDATE
      • Zastosowanie wyrażenia UPDATE w podzapytaniu
    • Zastosowania UPDATE
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja reklamowa
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
  • 16 Wstawianie zbiorów danych
    • Co to jest INSERT?
    • Instrukcja INSERT
      • Wstawianie wartości
      • Generowanie kolejnej wartości klucza głównego
      • Wstawianie danych przy użyciu instrukcji SELECT
    • Zastosowania INSERT
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
  • 17 Usuwanie zbiorów danych
    • Co to jest DELETE?
    • Instrukcja DELETE
      • Usuwanie wszystkich wierszy
      • Usuwanie wybranych wierszy
        • Zastosowanie prostej klauzuli WHERE
        • Bezpieczeństwo przede wszystkim: upewnij się, że usuwasz właściwe wiersze
        • Zastosowanie podzapytania
    • Zastosowania DELETE
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
  • Część VI Wstęp do rozwiązywania trudnych problemów
  • 18 Problemy z NIE i ORAZ
    • Krótkie przypomnienie zbiorów
      • Zbiory z wieloma kryteriami ORAZ
      • Zbiory z wieloma kryteriami NIE
      • Zbiory spełniające jednocześnie kryteria na tak i na nie
    • Uwzględnianie kryterium na nie
      • Zastosowanie złączenia OUTER JOIN
      • Zastosowanie predykatu NOT IN
      • Zastosowanie predykatu NOT EXISTS
      • Zastosowanie klauzul GROUP BY / HAVING
    • Uwzględnianie wielu kryteriów na tak w jednej tabeli
      • Zastosowanie INNER JOIN
      • Zastosowanie predykatu IN
      • Zastosowanie predykatu EXISTS
      • Zastosowanie klauzul GROUP BY / HAVING
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
      • Baza danych Przepisy
  • 19 Operacje warunkowe
    • Wyrażenia warunkowe (CASE)
      • Do czego może się przydać CASE?
      • Składnia
    • Rozwiązywanie problemów za pomocą CASE
      • Rozwiązywanie zadań przy użyciu prostej instrukcji CASE
      • Rozwiązywanie zadań przy użyciu instrukcji CASE z wyszukiwaniem
      • Zastosowanie instrukcji CASE w klauzuli WHERE
    • Przykładowe instrukcje
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
  • 20 Zastosowanie niepowiązanych danych i tabel sterujących
    • Co to są niepowiązane dane?
      • Kiedy warto użyć CROSS JOIN?
    • Rozwiązywanie problemów przy użyciu niepowiązanych danych
    • Rozwiązywanie problemów z użyciem tabel sterujących
      • Konfigurowanie tabeli sterującej
      • Zastosowanie tabeli sterującej
    • Przykładowe instrukcje
      • Przykłady z użyciem niepowiązanych tabel
        • Baza danych Zamówienia
        • Baza danych Agencja artystyczna
        • Baza danych Grafik uczelni
        • Baza danych Liga kręglarska
      • Przykłady z użyciem tabel sterujących
        • Baza danych Zamówienia
        • Baza danych Agencja artystyczna
        • Baza danych Grafik uczelni
        • Baza danych Liga kręglarska
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Zamówienia
      • Baza danych Agencja artystyczna
      • Baza danych Grafik uczelni
      • Baza danych Liga kręglarska
  • 21 Złożone działania na grupach
    • Grupowanie w podgrupach
    • Rozszerzanie klauzuli GROUP BY
      • Składnia
    • Obliczanie sum hierarchicznie za pomocą operacji ROLLUP
    • Obliczanie sum kombinacji za pomocą operacji CUBE
    • Tworzenie zestawień sum za pomocą operacji GROUPING SETS
    • Różne techniki grupowania
    • Przykładowe instrukcje
      • Przykłady z użyciem ROLLUP
        • Baza danych Zamówienia
        • Baza danych Grafik uczelni
      • Przykłady z użyciem CUBE
        • Baza danych Liga kręglarska
        • Baza danych Zamówienia
      • Przykłady z użyciem GROUPING SETS
        • Baza danych Liga kręglarska
        • Baza danych Agencja artystyczna
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Liga kręglarska
      • Baza danych Agencja artystyczna
      • Baza danych Przepisy
      • Baza danych Zamówienia
      • Baza danych Grafik uczelni
  • 22 Dzielenie danych na okna
    • Co można zrobić z oknem na dane?
      • Składnia
    • Obliczanie numeru wiersza
    • Określanie pozycji w szeregu
    • Dzielenie danych na kwintyle
    • Zastosowanie okien z funkcjami agregującymi
    • Przykładowe instrukcje
      • Przykłady z użyciem ROW_NUMBER
        • Baza danych Agencja artystyczna
        • Baza danych Przepisy
      • Przykłady z użyciem RANK, DENSE_RANK i PERCENT_RANK
        • Baza danych Zamówienia
        • Baza danych Grafik uczelni
      • Przykłady z użyciem NTILE
        • Baza danych Liga kręglarska
        • Baza danych Agencja artystyczna
      • Przykłady z użyciem funkcji agregujących
        • Baza danych Liga kręglarska
        • Baza danych Zamówienia
        • Baza danych Grafik uczelni
    • Podsumowanie
    • Zagadnienia do samodzielnego rozwiązania
      • Baza danych Liga kręglarska
      • Baza danych Agencja artystyczna
      • Baza danych Przepisy
      • Baza danych Zamówienia
      • Baza danych Grafik uczelni
  • Na zakończenie
  • Część VII Dodatki
  • A Diagramy zgodne ze standardem SQL
  • B Schematy przykładowych baz danych
    • Baza danych Zamówienia
    • Baza danych Zamówienia zmiana
    • Baza danych Agencja artystyczna
    • Baza danych Agencja artystyczna zmiana
    • Baza danych Grafik uczelni
    • Baza danych Grafik uczelni zmiana
    • Baza danych Liga kręglarska
    • Baza danych Liga kręglarska zmiana
    • Baza danych Przepisy
    • Tabele sterujące
  • C Typy daty i czasu, operacje i funkcje
    • IBM DB2
      • Obsługiwane typy danych
      • Obsługiwane działania arytmetyczne
      • Funkcje
    • Microsoft Access
      • Obsługiwane typy danych
      • Obsługiwane działania arytmetyczne
    • Microsoft SQL Server
      • Obsługiwane typy danych
      • Obsługiwane działania arytmetyczne
      • Funkcje
    • MySQL
      • Obsługiwane typy danych
      • Obsługiwane działania arytmetyczne
      • Funkcje
    • Oracle
      • Obsługiwane typy danych
      • Obsługiwane działania arytmetyczne
      • Funkcje
    • PostgreSQL
      • Obsługiwane typy danych
      • Obsługiwane działania arytmetyczne
      • Funkcje
  • D Polecane lektury
    • Książki poświęcone bazom danych
    • Książki poświęcone SQL
  • E Słowniczek
Autor

ISBN

978-83-283-6064-8

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „ZAPYTANIA W SQL PRZYJAZNY PRZEWODNIK WYD.IV”