Cześć wszystkim. Zebrali się tutaj celowi ludzie, którzy chcą zostać programistami Java. I to jest logiczne: do tego został stworzony JavaRush. Aby zostać pełnoprawnym programistą, musisz znać określoną listę tematów. Kompletną listę kontrolną wiedzy wymaganej od programisty Java opisałem w tym artykule . Zatem: jednym z wymaganych tematów na tej liście jest znajomość języka SQL i znajomość przynajmniej jednej relacyjnej bazy danych. Dobra wiadomość jest taka, że wystarczy jedna książka, aby nauczyć się języka SQL na poziomie wystarczającym dla programisty Java! Istnieje wiele opcji książek odpowiednich do początkowego zanurzenia się w SQL, ale dzisiaj chciałbym się skupić na „SQL. Zbiór przepisów” Anthony’ego Molinaro. Osobliwością tej książki jest to, że oprócz nauki SQL na poziomie podstawowym, zapoznasz się z kilkoma bazami danych na raz i zobaczysz, jak różnią się zapytania dla nich i jakie są cechy konkretnej bazy danych. W tej książce omówiono zapytania do następujących baz danych:
Przede wszystkim ta książka przyda się początkującemu programiście, na przykład w Javie. Będziesz miał do czynienia na podstawowym poziomie z różnymi relacyjnymi bazami danych, więc ta książka pomoże ci zdobyć niezbędną wiedzę na temat SQL.
Prawdopodobnie jesteś już dobrze zaznajomiony z budowaniem zapytań SQL, ale mimo to ta książka mile Cię zaskoczy i uzupełni Twoją wiedzę. Lub, na przykład, przechodzisz do projektu z nieznaną Ci relacyjną bazą danych. Następnie za pomocą tej książki będziesz mógł wyciągnąć analogie z zapytań ze znanej bazy danych do nowej.
Być może dopiero myślisz o zostaniu programistą baz danych. W takim razie ta książka jest idealna dla Ciebie! Będziesz mógł przestudiować podstawy SQL omawiane dla różnych baz danych i wybrać „swoją” bazę danych, którą szczegółowo przestudiujesz w przyszłości.
- DB2;
- Baza danych Oracle;
- PostgreSQL;
- Serwer SQL;
- MySQL'a.
Dla kogo jest książka?
- początkujący programista
Przede wszystkim ta książka przyda się początkującemu programiście, na przykład w Javie. Będziesz miał do czynienia na podstawowym poziomie z różnymi relacyjnymi bazami danych, więc ta książka pomoże ci zdobyć niezbędną wiedzę na temat SQL.
- doświadczony programista
Prawdopodobnie jesteś już dobrze zaznajomiony z budowaniem zapytań SQL, ale mimo to ta książka mile Cię zaskoczy i uzupełni Twoją wiedzę. Lub, na przykład, przechodzisz do projektu z nieznaną Ci relacyjną bazą danych. Następnie za pomocą tej książki będziesz mógł wyciągnąć analogie z zapytań ze znanej bazy danych do nowej.
- początkujący programista SQL
Być może dopiero myślisz o zostaniu programistą baz danych. W takim razie ta książka jest idealna dla Ciebie! Będziesz mógł przestudiować podstawy SQL omawiane dla różnych baz danych i wybrać „swoją” bazę danych, którą szczegółowo przestudiujesz w przyszłości.
O czym jest ta książka
Książka ta omawia, rozdział po rozdziale, podstawowe tematy SQL, a także różne problemy SQL i ich rozwiązania. Dlatego może służyć jako punkt odniesienia: pojawił się problem, szukasz odpowiednich sposobów jego rozwiązania, a następnie tworzysz swoje rozwiązanie, aby pasowało do aktualnych warunków. Na stronach tej książki znajduje się ponad 150 przepisów. Tak, dokładnie przepisy na budowanie zapytań SQL: dlatego książka ma taką nazwę. Co zrobić po przeczytaniu tej książki?- Nie bój się eksperymentować, bo tylko metodą prób i błędów możesz zdobyć tak cenne doświadczenie, więc ćwicz, ćwicz i jeszcze raz ćwicz!
- Sprawdź to. Chodzi mi o to, że przeglądając tę książkę, lepiej jest wypróbować podane równolegle przykłady zapytań, które dzięki temu dobrze zapadną Ci w pamięć.
- Powtarzanie jest matką uczenia się. Dlatego warto wprowadzić notatkę, w której można spisać najważniejsze punkty i okresowo je powtarzać, aby pisanie zapytań w przyszłości nie sprawiało Państwu żadnych problemów.
- Musisz zrozumieć, że nowe nie zawsze znaczy lepsze. To, że nie używasz niektórych najnowszych funkcji SQL (takich jak funkcje okienne), nie oznacza, że Twój kod jest nieefektywny. Przecież istnieje wiele przykładów, gdzie tradycyjne rozwiązania SQL nie są gorsze, a czasem nawet lepsze, od nowego rozwiązania.
- Nie bój się eksperymentować. Bądź kreatywny w swojej pracy! Przecież nie wszystkie rozwiązania zostały jeszcze wynalezione: być może w Twojej sytuacji kreatywne podejście będzie najlepsze.
1. Wyodrębnianie rekordów
W tym rozdziale omówione zostaną pierwsze, najprostsze zapytania. W przykładach zobaczysz:- jak można użyć klauzuli WHERE do wybierania wierszy do wspólnego zestawu wyników;
- jak przypisać aliasy do kolumn wynikowych;
- jak użyć podzapytania, aby uzyskać dostęp do kolumn za pomocą aliasów;
- jak ograniczyć liczbę zwracaną w wierszach wynikowych;
- jak zwracać losowe ciągi i wykrywać wartości NULL.
2. Sortowanie wyników zapytań
W tym rozdziale omówiono sortowanie wyników zapytań. Właściwie służy do tego operator ORDER BY . Zobaczysz przykłady o różnej złożoności, począwszy od prostego porządkowania pojedynczej kolumny, przez sortowanie według podciągów, aż po sortowanie przy użyciu różnych warunków.3. Praca z wieloma tabelami
W tej części książki przedstawiono sposoby łączenia danych z wielu tabel. Nie skłamię, jeśli powiem, że złączenia tabel są jednym z podstawowych filarów SQL i aby odnieść sukces w SQL, trzeba zdobyć tę wiedzę i umieć ją wykorzystać. Tutaj zobaczysz przykłady złączeń wewnętrznych i zewnętrznych, iloczyny kartezjańskie, podstawowe operacje na zbiorach (odejmowanie, sumowanie, przecięcie) oraz wpływ złączeń na funkcje agregujące.4. Wstaw, zaktualizuj, usuń
W tej sekcji nauczysz się zapytań SQL służących do wstawiania, aktualizowania i usuwania danych. Omówiono także ciekawsze przykłady – operacje takie jak wstawianie wierszy z jednej tabeli do drugiej czy wykorzystanie powiązanych podzapytań podczas aktualizacji. Zrozumiesz konsekwencje posiadania wartości NULL, poznasz wstawianie wielu tabel, polecenie MERGE itp.5. Prośby o metadane
W tym rozdziale omówiono budowanie zapytań w celu uzyskania dostępu do metadanych bazy danych, z której korzystasz: przydatna jest znajomość indeksów, ograniczeń i tabel schematów. Zaproponowane tutaj proste zapytania pozwalają uzyskać informacje o samym schemacie. Dodatkowo w tym rozdziale przedstawiono przykłady „dynamicznego SQL”, czyli SQL generowanego przez SQL.6. Praca ze sznurkami
W tym rozdziale przedstawiono techniki pracy z ciągami znaków. SQL nigdy nie był znany ze swoich możliwości analizowania ciągów znaków, jednak odrobina kreatywności w połączeniu z szeroką gamą funkcji udostępnianych przez różne bazy danych może osiągnąć w tej kwestii znaczny sukces. Właściwie w tym rozdziale zaczyna się zabawa. Niektóre przykłady Cię zaskoczą. Na przykład:- zliczanie wystąpień znaku w ciągu;
- konwertuj rozdzielane listy i ciągi znaków na wiersze tabeli;
- tworzenie list rozdzielanych z wierszy tabeli;
- oddzielanie danych numerycznych i znakowych ciągu składającego się ze znaków alfanumerycznych.
7. Praca z liczbami
W tej części książki omówione zostaną sposoby rozwiązywania standardowych problemów z liczbami. Tutaj możesz znaleźć typowe przykłady i dowiedzieć się, jak funkcje okna mogą z łatwością obsługiwać zadania obliczeniowe i agregacyjne. Nauczysz się:- obliczyć aktualną kwotę;
- znajdź średnią, medianę i modę;
- obliczyć percentyl;
- obsługuj wartości NULL podczas wykonywania agregacji.
8-9. Arytmetyka daty
W tych dwóch rozdziałach dowiesz się, jak pracować z datami, ponieważ przy rozwiązywaniu codziennych problemów ważna jest umiejętność wykonywania na nich najprostszych i najczęściej spotykanych operacji. Różne przykłady obejmują znajdowanie liczby dni roboczych między dwiema datami, obliczanie różnicy między dwiema datami w różnych jednostkach czasu, zwracanie wszystkich dni w roku, znajdowanie lat przestępnych, znajdowanie pierwszego i ostatniego dnia miesiąca, tworzenie kalendarza itp. . Po tych rozdziałach bardzo trudno będzie Cię przestraszyć jakimkolwiek zadaniem związanym z datami (ale możesz się przestraszyć).10. Praca z zakresami danych*
W tym rozdziale przedstawiono metody wyszukiwania wartości znajdujących się już w zakresach dat. Dowiesz się, jak automatycznie generować sekwencje ciągów, wstawiać brakujące wartości zakresu liczbowego, określać początek i koniec zakresu wartości oraz identyfikować sekwencje wartości.11. Wyszukiwanie zaawansowane*
Znajdziesz tutaj funkcje, które są niezbędne w codziennej pracy z bazami danych, ale czasami powodują trudności. Przykłady w tym rozdziale obejmują wyszukiwanie wartości za pomocą ruchów rycerza, dzielenie zestawu wyników na strony, pomijanie wierszy tabeli, wyszukiwanie wartości wzajemnych i tak dalej.12. Raportowanie i zarządzanie hurtownią danych**
Często do generowania raportów możemy potrzebować specjalnych zapytań. Ten rozdział nam w tym pomoże: tutaj przyjrzysz się przykładom konwersji wierszy na kolumny i odwrotnie (raporty powiązań), tworzenia grup danych, tworzenia histogramów, obliczania prostych i pełnych podsum, agregowania przesuwanego okna wierszy i grupowanie wierszy według zadanego przedziału czasu.13. Zapytania hierarchiczne**
W tym rozdziale dowiesz się o możliwościach pracy z danymi hierarchicznymi. Niezależnie od modelu danych, pewnego dnia zajdzie potrzeba sformatowania go jako drzewa hierarchicznego lub relacji rodzic->dziecko. Dlatego w tym rozdziale przeanalizujesz problemy i rozwiązania tego problemu. Tworzenie drzewiastych zestawów wyników przy użyciu tradycyjnego języka SQL jest trudne, dlatego w tym samouczku dowiesz się, jak korzystać z niezwykle przydatnych funkcji specjalnych. W przykładach szczegółowo przyjrzysz się relacji rodzic->dziecko, przechodzeniu przez hierarchię od węzła głównego do węzłów-liście i gromadzeniu hierarchii.14. Rzeczy
I wreszcie zobaczysz wszystkie pozostałe funkcje, które nie pasowały do żadnego z poprzednich rozdziałów, ale jednocześnie są nie mniej interesujące i przydatne. Rozdział ten różni się od pozostałych tym, że oferuje rozwiązania tylko dla konkretnych systemów DBMS. Jest to jedyny rozdział w książce, w którym omówiono tylko jedną bazę danych dla jednego przepisu. Zrobiono to, aby pokazać możliwości i cechy konkretnych systemów DBMS (aby można było lepiej poczuć różnicę między nimi). Plusy książki:- Wiele przykładów.
- Świetne do „podstawowego” nurkowania.
- Rozważane są przykłady różnych systemów DBMS.
- Jest dobre tłumaczenie.
Książkowe odpowiedniki
- „Nauka SQL” – Alan Bewley: także książka przeznaczona do wstępnego zapoznania się z SQL z uwzględnieniem różnych systemów DBMS, ale kładzie szczególny nacisk na MySQL. Wadą książki jest niedostateczne „przeżucie” nowych informacji.
- „SQL: Przewodnik do nauki języków” – Chris Fiaily: Książka omawiająca także podstawy różnych baz danych. Świetne dla początkujących, ale jeśli znasz już SQL i chcesz poznać więcej szczegółów, możesz poszukać gdzie indziej.
- „Head First – Learning SQL” – Lynn Bailey: książka o bardzo niskiej barierze wejścia, przekaże wiele podstawowych zagadnień w przystępny i szczegółowy sposób (czasami może nawet zbyt prosto). W swoich przykładach ta książka uwzględnia nie kilka baz danych, jak powyższe analogi, ale jedną - MySQL.
GO TO FULL VERSION