Klauzule SELECT i WHERE
W poście zatytułowanym „Wstęp do SQL – podstawy” przedstawiono teoretyczne informacje o podziale języka ze względu na składnie, zaprezentowano również podstawowe kwerendy tworzące tabelę w bazie danych oraz zapytanie wybierające wszystkie dane z tabeli.
W tym poście postaramy się usystematyzować podstawy.
Instrukcja SELECT umożliwia odczytanie danych zapisanych w bazie, bez jakiejkolwiek ingerencji w ich zawartość i strukturę. To znaczy, że możemy wyświetlić wszystkie kolumny w danej tabeli lecz nie będziemy w stanie nic w niej zmienić.
Ponadto instrukcja SELECT definiuje z jakich tabel w bazie danych mają być pobrane dane oraz jakie warunki mają spełniać te dane.
Instrukcja SELECT składa się z kilku części, które nazywamy klauzulami.
Weźmy dla przykładu naszą pierwszą wykonaną instrukcję SELECT.
SELECT * FROM MIEJSCOWOSCI;
Po klauzuli SELECT umieszczamy wyrażenie, które definiuje nam np. kolumny z tebeli, które chcemy wyświetlić, * wybiera wszystkie kolumny.
FROM określa nazwę tabeli z której wybieramy rekordy.
W przypadku chęci wybrania konkretnych rekordów wymagana jest klauzula WHERE, która określa nam warunek, który musi zostać spełniony aby interesujące nas rekordy zostały wyświetlone.
Rozbudujmy zatem teraz nasze zapytanie o klauzulę WHERE, wybierając z tebeli miejscowosci miasto Zakopane.
SELECT * FROM miejscowosci WHERE nazwa='Zakopane';
Zwrotnie otrzymamy jeden wiersz, w którym znajdą się miejscowości ale tylko te, w których nazwa odpowiada Zakopanemu. W tabeli mamy jedno Zakopane.
Zwróć uwagę na zapis, Zakopane umieszczono pomiędzy apostrofami, ponieważ są to dane typu tekstowego. Przy wyborze danych tekstowych pamiętaj o apostrofach.
Teraz napiszemy zapytanie które zwróci nam wiersze dla id=2
SELECT * FROM miejscowosci WHERE id=2;
Zwrotnie otrzymamy wiersz z danymi odpowiadającymi id=2. Zwróć uwagę, że dane liczbowe typu INTEGER umieszcza się bez apostrofów.
Na dzisiaj to tyle informacji, w kolejnym poście rozbudujemy naszą bazę danych i przedstawimy sobie klauzulę DISTINCT, ORDER BY oraz operatory logiczne.