SQL QUERY 1 - ĆWICZENIA

W tej części skupimy się na dobrych praktykach: formatowaniu kodu, używaniu zaawansowanych filtrów, komentowaniu oraz tworzeniu aliasów.

Plik z którym będziemy pracować:

https://docs.google.com/spreadsheets/d/11iqR2eL5pDQCo5Q4DnSdw28fSYqYFHql5iR6XSCeZ_I/edit?usp=sharing

1. Formatowanie: Wielkie litery, wcięcia i średniki

SQL jest językiem niewrażliwym na wielkość liter (case-insensitive) – dla komputera select i SELECT to to samo. Jednak w środowisku profesjonalnym przyjęto konwencję, by słowa kluczowe pisać wielkimi literami. Ułatwia to szybkie odróżnienie komend od nazw tabel czy kolumn.

Warto również stosować średnik ; na końcu zapytania. Jest to standard (ANSI SQL-92) oznaczający koniec instrukcji. Choć niektóre systemy zadziałają bez niego, wyrób w sobie nawyk jego stawiania.

Przykład nieczytelny: select imie, nazwisko from studenci_finansow where wynik_egzaminu > 80

Przykład czytelny:

SQL

SELECT 

    imie, 

    nazwisko 

FROM 

    Studenci_Finansow 

WHERE 

    wynik_egzaminu > 80;


2. Zaawansowane filtrowanie (WHERE i operator LIKE)

Do tej pory szukaliśmy dokładnych dopasowań (np. wynik = 90). Co jednak, jeśli szukamy wzorca? Tutaj z pomocą przychodzi operator LIKE oraz znak wieloznaczny % (procent). Znak % zastępuje dowolny ciąg znaków.

W naszym zbiorze danych zapytanie to zwróci osoby takie jak: Kowalski, Kamińska czy Krawczyk.

3. Wybieranie wszystkich kolumn (SELECT *)

Czy można pobrać wszystko naraz? Tak, służy do tego gwiazdka *.

SQL

SELECT * FROM Studenci_Finansow;


Uwaga praktyczna: Choć jest to poprawne składniowo, w pracy z dużymi bazami danych (Big Data) należy używać gwiazdki ostrożnie. Pobranie milionów wierszy i setek kolumn może "zatkać" serwer. Jako analityk powinieneś precyzyjnie wskazywać, jakich danych potrzebujesz.

4. Komentarze w kodzie

Komentarze to fragmenty tekstu ignorowane przez komputer, ale bezcenne dla człowieka. Służą do opisywania, co robi dany kawałek kodu. W SQL komentarz liniowy zaczynamy od dwóch myślników --.

SQL

SELECT 

    imie, 

    nazwisko, 

    stypendium 

FROM 

    Studenci_Finansow

WHERE 

    stypendium IS NULL -- Wybieramy studentów, którzy nie otrzymali jeszcze stypendium


Dobra praktyka nakazuje komentowanie skomplikowanych warunków logicznych, aby wrócić do nich po miesiącach i nadal rozumieć swój kod.

5. Aliasy (Pseudonimy)

Aliasy pozwalają tymczasowo zmienić nazwę kolumny lub tabeli w wynikach zapytania, aby była bardziej czytelna. Używamy do tego słowa kluczowego AS. Alias nie zmienia danych w bazie, a jedynie ich etykietę w raporcie.

Przykład: Chcemy, aby w raporcie kolumna wynik_egzaminu nazywała się ładniej: Punkty.

SQL

SELECT 

    nazwisko, 

    wynik_egzaminu AS Punkty

FROM 

    Studenci_Finansow;


SQL w praktyce:

Wyobraź sobie, że jesteś analitykiem w Dziekanacie. Kierownik Katedry Finansów prosi Cię o przygotowanie listy potencjalnych kandydatów do prestiżowego koła naukowego "Inwestor".

Krok 1: Przegląd danych Najpierw sprawdzasz, co masz w bazie, używając SELECT *.

SQL

SELECT * FROM Studenci_Finansow;


Krok 2: Filtracja kierunkowa Koło naukowe zajmuje się giełdą, więc interesują Cię tylko osoby ze specjalizacją "Rynki Kapitałowe".

SQL

SELECT 

    id_studenta, 

    nazwisko, 

    specjalizacja, 

    wynik_egzaminu

FROM 

    Studenci_Finansow

WHERE 

    specjalizacja = 'Rynki Kapitałowe';


Krok 3: Wykluczenie słabych wyników (Operator <>) Zauważasz, że na liście są osoby z bardzo niskimi wynikami. Chcesz wykluczyć studentów, którzy mają wynik poniżej 40 punktów, aby przedstawić promotorowi tylko rokujących kandydatów. Użyjemy operatora <> (różny od) lub po prostu warunku matematycznego.

Załóżmy, że chcemy wykluczyć studenta Grzegorza (wynik 32). Użyjemy operatora AND, aby połączyć warunki.

SQL

SELECT 

    id_studenta, 

    nazwisko, 

    specjalizacja, 

    wynik_egzaminu

FROM 

    Studenci_Finansow

WHERE 

    specjalizacja = 'Rynki Kapitałowe' 

    AND wynik_egzaminu >= 40; -- Wykluczamy wyniki poniżej 40 pkt


Dzięki temu zapytaniu dostarczasz przełożonemu gotową listę wartościowych kandydatów, oszczędzając czas na ręczne przeglądanie arkuszy.