SQL 1 - QUERY
Zapytanie (ang. query) to sformalizowane żądanie ekstrakcji danych z bazy. Komunikacja z relacyjnymi bazami danych odbywa się za pomocą języka SQL (Structured Query Language). Podobnie jak języki naturalne czy programowania, SQL opiera się na ścisłej składni – zbiorze reguł określających strukturę poleceń, słowa kluczowe oraz interpunkcję. Poprawne sformułowanie zapytania inicjuje proces wyszukiwania i zwracania danych spełniających zadane kryteria.
Struktura zapytania (SELECT – FROM – WHERE) Fundamentem większości zapytań SQL są trzy kluczowe klauzule, które pełnią rolę szablonu:
SELECT – specyfikuje atrybuty (kolumny), które mają zostać wyświetlone w wyniku.
FROM – wskazuje encję (tabelę) źródłową, z której pobierane są dane.
WHERE – definiuje warunki logiczne, które muszą spełnić rekordy (filtrowanie danych).
Dobrą praktyką, zwiększającą czytelność kodu i redukującą błędy, jest stosowanie zapisu blokowego:
SQL
SELECT
nazwa_kolumny
FROM
nazwa_tabeli
WHERE
warunek_logiczny
Załóżmy, że pracujemy na tabeli Studenci zawierającej dane o wynikach egzaminacyjnych.
1. Zapytanie proste
Celem jest znalezienie studentów, którzy otrzymali ocenę bardzo dobrą.
SQL
SELECT
nazwisko
FROM
Studenci
WHERE
ocena = 5.0
SELECT: Zwróć tylko kolumnę nazwisko.
FROM: Pobierz dane z tabeli Studenci.
WHERE: Ogranicz wyniki tylko do wierszy, gdzie w kolumnie ocena widnieje wartość 5.0.
2. Wybór wielu kolumn
W praktyce analitycznej rzadko pobiera się pojedynczą zmienną. Aby uzyskać szerszy kontekst (np. identyfikację studenta), należy wymienić pożądane kolumny po przecinku.
SQL
SELECT
nr_indeksu,
nazwisko,
ocena
FROM
Studenci
WHERE
ocena = 2.0
W powyższym przykładzie system zwróci numer indeksu, nazwisko oraz ocenę tylko dla studentów, którzy nie zaliczyli przedmiotu (ocena 2.0). Efektywne zarządzanie zasobami bazy danych polega na selekcji tylko tych kolumn, które są niezbędne do analizy.
3. Złożone warunki filtracji (Operator AND)
Klauzula WHERE pozwala na łączenie wielu warunków logicznych. W przeciwieństwie do SELECT, gdzie elementy rozdziela się przecinkiem, w WHERE stosuje się operatory logiczne (np. AND, OR).
SQL
SELECT
nr_indeksu,
nazwisko
FROM
Studenci
WHERE
ocena = 5.0
AND rok_studiow = 1
Powyższe zapytanie zwróci dane wyłącznie tych studentów, którzy spełniają oba warunki jednocześnie: otrzymali ocenę 5.0 ORAZ są na pierwszym roku studiów.
Podsumowanie pojęć
Kwerenda (Query): Żądanie dostępu do danych sformułowane w języku bazy danych.
SQL: Standardowy język zapytań służący do zarządzania relacyjnymi bazami danych.
Składnia (Syntax): Zbiór reguł gramatycznych języka programowania.
Klauzule podstawowe:
SELECT: Wybór zmiennych (kolumn).
FROM: Wybór źródła danych (tabeli).
WHERE: Filtracja obserwacji (wierszy).