Z pewnością nazwa SQL nie jest Ci obca i wiesz, że wiąże się z bazami danych. Ale co to w zasadzie oznacza? Jak się uczyć SQL i stosować go w praktyce? Czy warto wybrać ten język do rozwoju kariery w IT? Mamy nadzieję, że po lekturze tego artykułu wszystko stanie się jasne!
Czym jest SQL?
SQL, czyli Structured Query Language, to język używany przede wszystkim do przeglądania, modyfikacji i zarządzania danymi w relacyjnych bazach danych.
Jeśli pracujesz z dużą ilością informacji, których struktura opiera się na wierszach i kolumnach znajdujących się w tabelach, to ucząc się SQLa prawdopodobnie poczujesz się jak w domu, bo dokładnie tak relacyjne bazy porządkują informacje.
Ich prawdziwa moc polega na super efektywnym pobieraniu danych, zwłaszcza w przypadku istnienia wielu różnych, związanych ze sobą tabel. Łączenie ze sobą różnych źródeł danych jest szybkie i intuicyjne.
Technologia obecna w każdej branży, czyli kto używa SQL?
W skrócie – prawie wszyscy. SQL jest wszędzie tam, gdzie praca związana jest z przechowywaniem i przetwarzaniem danych. Począwszy na inżynierach uczenia maszynowego, poprzez specjalistów z branż finansowych, web developerów, a skończywszy na ekspertach wizualizacji danych, czy nawet dziennikarzach.
Bazy danych oparte na SQL pozwalają na efektywne tworzenie zapytań i statystyk, a także ułatwiają pracę ze skomplikowanymi, relacyjnymi danymi.
Full-stack i backend deweloperzy muszą wiedzieć jak pracować z bazą danych. Tak samo inżynierowie danych (data engineer), specjaliści od Big Data czy machine learningu, eksperci od geoinformatyki czy administratorzy systemów. Ekonomiści, specjaliści od obliczania ryzyka, oraz SEO – nie uciekną od SQLa, gdy tylko przyjdzie zająć się coraz większymi danymi.
SQL to sposób na wiecznie zawieszającego się Excela
W teorii arkusze Excela pomieszczą milion wierszy lub dane wielkości 2GB. A w praktyce? Każdy, kto pracował z tym programem dłużej, wie, że praca w Excelu z danymi większymi niż 50 MB to igranie z losem. A u żywanie funkcji przy tym rozmiarze danych to gwarantowany restart aplikacji. W takich sytuacjach świetnie sprawdzi się nawet najprostsza baza relacyjna, jak SQLite, która poradzi sobie bez problemu z kilkunastoma gigabajtami danych w jednym pliku.
Jak powiedział mi znajomy statystyk: “Przeniosłem moją pracę z Excela na SQL i zmiana jest ogromna – przestałem słyszeć wycie wiatraczka w laptopie”. Liczenie korelacji, regresji i używanie funkcji rangowych jest tak łatwe, jak napisanie CORR(Y, X).
SQL jest łatwy w nauce i prosty w użyciu
Chcesz znaleźć tytuły filmów, które weszły na ekrany po 2015 roku? Nic prostszego, piszesz: “SELECT title FROM films WHERE release_year > 2015;”, gdzie “films” to nazwa twojej tabeli, a “title” i “release_year” to odpowiednie kolumny.
Potrzebujesz szybko sprawdzić średnią zarobków w zespole? Piszesz: “SELECT AVG(salary) FROM team;”, gdzie AVG() to funkcja zwracająca średnią, “salary” to kolumna wynagrodzeń, a “team” to tabela opisująca zespół.
SQL w swojej budowie przypomina język naturalny, którym posługujemy się na co dzień. Znacznie ułatwia to jego naukę, debuggowanie i pisanie złożonych zapytań (komend, które po wykonaniu przez bazę zwrócą jakiś jej podzbiór).
Sprawdź nadchodzący zdalny kurs Data Science z trenerem na ŻYWO
Technologie się zmieniają – SQL nie przemija
Rozwój technologii sprawia, że praca w IT wiąże się z koniecznością ciągłego rozwoju. I bardzo dobrze – problemy, które rozwiązujemy są coraz bardziej skomplikowane i wymagają nowych narzędzi. I o ile część z nich odchodzi w zapomnienie, jak np. rzadko dziś używany język Perl, tak problem ten nie dotyczy SQLa – technologii obecnej od lat 80., która używana jest codziennie na całym świecie.
Wcześniej, do lat 60. dane przechowywano na dużych taśmach magnetycznych. Była to wciąż epoka “small data”, a wydobycie konkretnych danych mogło zająć do 4 godzin. Wynalezienie relacyjnych baz danych to wszystko zmieniło. SQL to standard od ponad 40 lat.
Profesjonalni programiści używają SQL
Z ankiety przeprowadzonej przez StackOverflow, jednego z największych portali dla programistów, wynika, że SQL jest czwartym najpopularniejszym językiem, zarówno wśród wszystkich respondentów jak i doświadczonych, zawodowych programistów.
Prawie 59% pytanych używa go na codzień w pracy, co dało mu 4 miejsce na 25 wymienionych języków i technologii. Nic dziwnego, bez względu na specjalizację większości programistów przychodzi pracować z danymi a te dane – zazwyczaj przychodzą z bazy SQL.
Link do ankiety: https://insights.stackoverflow.com/survey/2018/
Bazy oparte o SQL są wśród najczęściej używanych
Bazy oparte na SQL królują wśród najpopularniejszych technologii baz danych, według tej samej ankiety Stack Overflow. Programiści znacznie częściej wybierają np. MySQL, SQL Server lub SQLite niż inne technologie, jak Elasticsearch czy MongoDB, nazwane zbiorczą nazwą NoSQL (Not Only SQL).
Niespełna 60% pytanych deklaruje pracę z MySQL, 41.2% z SQL Server, prawie 33% z PostgreSQL.
Ile zarabiają programiści?
SQL pomoże szybko zwizualizować dane
Tableau, Qlik, PowerBI – profesjonalne narzędzia do wizualizacji danych są używane przez analityków w większości dużych firm. Można je spotkać w NGOsach, a nawet w niektórych redakcyjnych newsroomach. Dzięki zintegrowaniu tych aplikacji z SQLem, można dopasować mapy, grafy i wykresy do konkretnych potrzeb, na przykład uwzględnić tylko pewien zakres danych, porównać obserwacje spełniające konkretny warunek, czy wybrać do wizualizacji tylko te rekordy, które zawierają konkretne słowo.
SQL sprawdzi się do szybkiego tworzenia prototypów, jak i wielopoziomowych dashboardów. Bez względu na to, czy uważasz, że wykresy kołowe to zbrodnia.
Jak się uczyć SQL?
Ponieważ SQL jest standardem obecnym od tak wielu lat, że z pewnością znajdziesz dla siebie odpowiednie źródła do nauki.
265 przewodników o tym, jak się uczyć SQL, znalazłem w magazynie jednej z popularnych polskich sieci księgarni (wpisując hasło w jej wyszukiwarkę). Początkującym polecam na przykład “Praktyczny SQL. Opowiadanie historii poprzez dane. Przewodnik dla początkujących“ Anthonego DeBarros lub “SQL. Praktyczny kurs” Danuty Mendrali.
Bardziej zaawansowane osoby i tak skorzystają z dokumentacji, a jeśli czujesz, że najlepiej idzie ci nauka z nauczycielami, to możesz też skorzystać z kursu „SQL od podstaw” w InfoShare Academy.
Absolutnych podstaw nauczysz się w godzinę, a jeśli chcesz poćwiczyć na żywym organizmie, możesz pobrać przeglądarkę baz SQLite (https://sqlitebrowser.org) i zacząć pisać zapytania już dziś.
Autor: Mikołaj Mierzejewski