SQL czy Python: jaki język programowania na początek?

14 listopada 2021

sql czy python

SQL czy Python – dlaczego warto zapytać

Dane pochodzą z różnych źródeł, niemniej korzystają z nich wielu: data scientist, programista, data engineer, analityk biznesowy, BI developer, czy wreszcie klasyczny data analyst. Popularnymi językami programowania, które pozwalają korzystać z danych są SQL i Python. I teraz, jeżeli jesteś na początku swojej pracy w IT, to pewnie zadajesz sobie pytanie: jaki język programowania na początek – SQL czy Python?

Pytanie wcale nie jest głupie. Obie technologie są trochę inne, trochę inaczej podchodzą do danych. Niestety opanowanie dwóch równocześnie jest trudne. Szczególnie na wysokim poziomie. Dlatego na Twój wybór, powinno wpłynąć zarówno to jaki jest Twój cel zawodowy, jak i z jakimi zadaniami będziesz się mierzył.

SQL – krótkie podsumowanie

SQL, czyli Structured Query Language, to język programowania, który umożliwia zarządzanie i pobieranie informacji z bazy danych lub tworzenie własnych baz danych. Wiele branż używa relacyjnych baz danych — które wykorzystują tabele, kolumny i wiersze do organizowania informacji i łączenia danych między tabelami — do przechowywania informacji. SQL służy do rozwijania i utrzymywania tych bazy danych.

Analityk, BI developer, czy data scientist mogą również używać SQL do uzyskiwania szybkich wglądów w dane, przeprowadzania skomplikowanych analiz i tworzenia szczegółowych raportów. Tu np. zobaczysz raport z piłkarskiej bazy danych, poświęcony rekordowi Roberta Lewandowskiego w Bundeslidze.

Choć trudno to zobaczyć gołym okiem, bazy danych z którymi „rozmawia” SQL są wszędzie. Strony internetowe, aplikacje, pakiety oprogramowania, portale społecznościowe – za tym wszystkim stoją bazy danych.

Python – krótkie wprowadzenie

Python jest językiem programowania ogólnego przeznaczenia, co oznacza, że można go używać do różnych zadań programistycznych. Niektóre z tych zadań obejmują tworzenie backendu, tworzenie oprogramowania i pisanie skryptów systemowych. Analitycy danych często używają języka Python, ponieważ jego prosta składnia i popularność w branży ułatwiają współpracę z innymi analitykami danych przy opracowywaniu oprogramowania do analizy danych. Jeżeli chcesz zacząć się uczyć Pythona jako analityk, to najlepiej zacząć od podstaw Pandas – czyli od DataFrame.

Ze względu na integrację z różnymi platformami i prostotę składni, Python stał się jednym z preferowanych języków do eksploracji danych. Wiele branż korzysta z oprogramowania, aplikacji i programów napisanych w Pythonie ze względu na tę wszechstronność. Niektóre zastosowania Pythona obejmują ogólne tworzenie stron internetowych, analizę danych i uczenie maszynowe, które jest rodzajem sztucznej inteligencji, która koncentruje się na opracowywaniu algorytmów komputerowych, które uczą się na podstawie doświadczeń, a nie ręcznych aktualizacji kodowania.

SQL vs Python: porównanie

Ok, to powinno Ci dać bardzo ogólny obraz sytuacji, ale to wciąż za mało by odpowiedzieć sobie na pytanie jaki język programowania na początek będzie lepszy. Spróbujmy je teraz porównać, by

‍ SQL jest bardziej rygorystyczny – i dobrze!

Zarówno w SQL jak i w Pythonie syntax (czyli sposób pisania, np. kolejność słów kluczowych) musi być poprawny. Niemniej, ze względu na ilość możliwości SQL jest bardziej rygorystyczny. Paradoksalnie – dla początkującego to bardzo dobrze. Mimo, pozornie niewielkiej ilości rzeczy, którą można zrobić SQLem, szybciej jesteś w stanie powiedzieć, że umiesz ten język w stopniu podstawowym. Upraszczając, znając jak działają GROUP BY i WHERE oraz rozumiejąc kiedy zastosować CTE, jesteś już w połowie drogi. Python pozwala na większą dowolność. Co za tym idzie, trudniej się zorientować, kiedy tak naprawdę opanowałeś podstawy.

‍ Python ma więcej klocków – ale czy to dobrze?

Jeżeli zastosujemy analogię do klocków LEGO, to Python z pewnością ma bogatszy zestaw. Porównanie SQL czy Python, można zamienić na dużo opcji czy mało opcji. Python niesie za sobą dziesiątki bibliotek – niektóre pomogą Ci nawet tworzyć efektowne wizualizacje jak np. matplotlib. Samo wczytywanie pliku w Pythonie, można zrobić na kilka sposobów. Można by się oczywiście kłócić, że analogicznym są „dialekty” SQLa: MySQL, T-SQL, PL/SQL, etc. Ale to nie do końca trafne porównanie. Pozostając w temacie LEGO: Pythonem zbudujesz każdy możliwy pojazd, SQLem – jedynie Fordy w różnych kolorach.

‍ SQL czy Python = Analityk czy Programista?

Jeżeli nie jesteś zupełnie początkujący, to być może tak właśnie rozwiązałbyś ten dyletmat. Ale jesteś w błędzie. Programista potrzebuje SQLa, a analitykowi przyda się Python. Pytanie co, komu bardziej. I tu moim zdaniem mamy rozwiązanie. Programiści są, chcą czy nie chcą, zmuszeni do pracy z bazami danych, bo w relacyjnych bazach danych (w bezdyskusyjnej większości) są dane przechowywane. Chcesz stworzyć aplikację? Spoko. Ale nie umiejąc napisać prostego selecta w SQLu, to w zasadzie niemożliwe.

Natomiast Python jest po prostu jednym z ogólnych języków programowania. Jasne, ze względu na takie biblioteki jak pandas czy scikit-learn, jest on bardzo pociągający zarówno dla początkujących analityków jak i dla zaawansowanych data scientistów.

SQL czy Python: jaki język programowania na początek? Oto odpowiedź.

SQL. Po prostu. Dlaczego?

  1. Ma mniej możliwości, więc szybciej będziesz miał poczucie, że rozumiesz jak działa. To ważne dla motywacji.
  2. Korzystają z niego zarówno analitycy jak i programiści.
  3. Nie znając Pythona zarówno zbudujesz aplikację, jak i wyciągniesz dane do raportu z bazy, o tyle bez znajomości SQLa, pierwsze będzie bardzo trudne a drugie w zasadzie niemożliwe*.

To tyle w tym temacie. Analizujcie w pokoju!  

Podobał Ci się ten artykuł?
Podziel się nim w Social Mediach:
>>> udostępnij go na LinkedIn i pokaż, że codziennie uczysz się czegoś nowego 
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych 
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości

Inne ciekawe artykuły:

A jeśli chcesz się dowiedzieć czegoś więcej o SQL – zajrzyj tutaj.

* dobra, jeżeli interesuje Cię działanie tylko na graficznych narzędziach ETL (np. Alteryx, o którym rozmawiam z Emilem Kosem, albo KNIME które pokazuję na YouTube), to teoretycznie dasz radę. Ale to bardzo, bardzo ograniczające, nie polecam się tak zawężać.

Ja Ci ją z przyjemnością wyślę. Za darmo. Bez spamu.

Poradnik Początkującego Analityka

Video - jak szukać pracy w IT

Regularne dawki darmowej wiedzy, bez spamu.