Zanim rzucimy się na praktykę, ogarnijmy, czym w ogóle jest SQL (czytaj "es-kju-el" albo "sikłel", jak wolisz) i dlaczego jest taki ważny.
SQL to skrót od Structured Query Language — strukturalny język zapytań. To taki standardowy język, którego używasz do kontaktu z bazami danych. Niezależnie od tego, jaką bazę wybierzesz — PostgreSQL, MySQL, Oracle czy coś innego — prawie na pewno będziesz używać SQL.
Wyobraź sobie, że SQL to twój sposób "gadania" z bazą danych. Dajesz jej komendy typu "pokaż mi wszystkich studentów starszych niż 18 lat", a ona jak za dotknięciem czarodziejskiej różdżki wyciąga ci potrzebne dane.
Główne zadania SQL:
- Wyciąganie danych - sprawdź, kto zapisał się na kurs "Historia średniowiecza".
- Dodawanie danych - dodaj nowego studenta do bazy.
- Aktualizacja danych - popraw literówkę w imieniu studenta.
- Usuwanie danych - usuń studenta, który odebrał dokumenty z uczelni.
Po co jest SELECT?
SELECT — to chyba najważniejsza komenda w SQL. Po angielsku znaczy "wybierz". To twój sposób na wyciągnięcie potrzebnych informacji z bazy danych.
Wyobraź sobie, że wchodzisz do biblioteki, gdzie są tysiące książek. Chcesz znaleźć książkę o programowaniu w Pythonie. Zamiast błąkać się między półkami, mówisz bibliotekarzowi: "Przynieś mi książki o Pythonie".
W świecie baz danych SQL to twój bibliotekarz, a SELECT — komenda "Przynieś mi...".
Przykłady zadań, które ogarniesz dzięki SELECT:
- Wyciągnij imiona wszystkich studentów.
- Sprawdź, ile kursów jest dostępnych w tym semestrze.
- Znajdź studentów, którzy dostali ocenę powyżej 90 punktów.
Poza wyciąganiem danych, SELECT pozwala też na:
- Filtrowanie danych - "pokaż tylko studentów starszych niż 18 lat".
- Sortowanie danych - "posortuj studentów po nazwisku".
- Wyświetlanie tylko potrzebnych kolumn, a nie wszystkiego naraz.
Główne zalety SQL
SQL to skill, który przydaje się praktycznie wszędzie.
Chcesz analizować dane o sprzedaży w sklepie online? Potrzebujesz SQL.
Ogarniasz badania medyczne? Znowu SQL. Pracujesz z automatyzacją procesów? Zgadłeś. SQL.
Dlaczego SQL jest taki fajny?
- SQL działa praktycznie z każdą bazą danych.
- SQL jest napisany tak, żeby był intuicyjny.
- Nawet skomplikowane zapytania SQL są dość łatwe do ogarnięcia.
- Dzięki SQL możesz obrabiać ogromne ilości danych i wyciągać z nich to, co potrzebujesz.
Komentarze w PostgreSQL
I jeszcze jedna ważna rzecz – komentarze w zapytaniach SQL. Komentarze to mega przydatna sprawa. Po pierwsze, możesz w nich pisać wyjaśnienia i/lub swoje pomysły. Po drugie, dzięki komentarzom możesz wyłączyć nieśmigający kod. Albo zakomentować starą wersję kodu.
Będę bardzo często pisał komentarze obok kodu, więc właśnie od nich dziś zaczniemy.
W SQL, jak w wielu językach programowania, są komentarze jednoliniowe i wieloliniowe. Komentarz wieloliniowy wygląda mniej więcej tak:
/* tekst komentarza tekst komentarza tekst komentarza */
Zaczyna się od znaków /* i kończy na */. Możesz go też użyć w jednej linii. Przykład:
/* tekst komentarza */
Jest też komentarz "od początku do końca linii", podobny do javowego "//" albo pythonowego "#". Tylko w SQL trzeba napisać dwa minusy i spację. Ogólny wygląd takiego komentarza:
-- tekst komentarza
Przykład długiego zapytania SQL, gdzie prawa część jest zakomentowana:
SELECT * FROM employee -- WHERE YEAR(join_date) = 2015
W powyższym przykładzie zakomentowaliśmy warunek zapytania, więc PostgreSQL wykona tylko zapytanie:
SELECT * FROM employee
Będę pisał swoje komentarze obok kodu, żeby łatwiej się go czytało albo żeby trudniejsze momenty były prostsze. Już to robię! I tobie też polecam nie olewać tego przydatnego narzędzia. :)
Styl zapytań SQL
Język SQL został zaprojektowany tak, żeby był maksymalnie user-friendly.
Po pierwsze, wielkość liter w zapytaniu zwykle nie ma znaczenia: możesz napisać SELECT, Select, SeLecT albo select i wszystko zadziała. Po drugie, łamanie linii zazwyczaj nie robi różnicy. Baza i tak ogarnie zapytanie, jakby było napisane w jednym długim wierszu. Masz więc trochę swobody, jak pisać zapytania.
Mimo to dobrze sformatowany kod SQL łatwiej się czyta, rozumie, debugguje i utrzymuje. Dlatego są ogólnie przyjęte zalecenia co do stylu.
Zalecenia dotyczące formatowania
- Słowa kluczowe SQL PISZEMY WIELKIMI LITERAMI. Takie słowa jak
SELECT,FROM,WHERE,ORDER BYitd. piszemy dużymi literami. To pomaga wizualnie oddzielić je od nazw tabel i kolumn. - Zaczynaj
SELECT,FROM,WHEREi inne główne części zapytania od nowej linii. - Średnik
;na końcu zapytania to standardowy separator instrukcji. Staje się konieczny, gdy wykonujesz kilka zapytań pod rząd w jednym skrypcie lub bloku kodu. Polecamy zawsze kończyć każde zapytanie SQL średnikiem.
Przykład optymalnego formatowania:
SELECT customer_id, full_name, email, registration_date
FROM customers
WHERE delivery_address = 'Anytown';
To zapytanie można by zapisać na różne sposoby, używając innego formatowania. Na razie nie skupiaj się na tym za bardzo. Pamiętaj, że w SQL nie ma jednego obowiązkowego formatowania: najważniejsze to pisać kod czytelny i zrozumiały.
GO TO FULL VERSION