Wybieranie rekordów - operacja SELECT
Zapytanie SELECT służy do wybierania z bazy danych żądanych rekordów. Jest ono podstawowym i najbardziej rozbudowanym poleceniem języka SQL gdyż często potrzebujemy zaprezentować dane w odpowiedni sposób oraz pobrać je w zależności od innych parametrów. Zapytanie składa się z :- instrukcji SELECT oznaczającej chęć wybrania danych z bazy
- nazw kolumn oddzielonych przecinkami znajdujących się w tabeli
- części FROM w której podajemy nazwę tabeli
SELECT kolumna,kolumna,.. FROM tabela
Musimy uważać, aby wybierane kolumny istniały w tabeli oraz aby zachować pożądaną kolejność, gdyż
kolumny danych będą zwrócone zgodnie z podaną kolejnością.
PRZYKŁAD
Wybieramy z tabeli Customer wszystkich klientów z ich identyfikatorami, imionami oraz miastami.
Tabela Customer :
zapytanie : SELECT id,name,city FROM customer
Wynik zapytania :
ĆWICZENIE
Wybierz wszystkie identyfikatory i nazwy produktów
Tabela Product :
Wpisz zapytanie do bazy :
Zobacz jak powinno wyglądać zapytanie
SELECT id,name FROM product
Zapytanie SELECT .. ORDER BY jest używane do posortowania wybranych danych. Sortowanie odbywa się według wartości podanej kolumny(kolumn). Możemy sortować rosnąco co oznaczamy słowem kluczowym ASC (ascend) lub malejąco co oznaczamy słowem DESC (descend).
SELECT kolumna,kolumna,.. FROM tabela ORDER BY kolumna DESC
Sortować można również według kolumn nie wybieranych w danym zapytaniu a tylko znajdujących się w tabeli.
PRZYKŁAD
Wybieramy z tabeli Product nazwę, cenę i datę dodanie produktu posortowaną malejąco według daty dodania.
Tabela Product :
zapytanie : SELECT name,price,date FROM product ORDER BY date DESC
Wynik zapytania :
Zapytanie SELECT .. WHERE stosowane jest gdy chcemy wybrać rekordy z tabeli według podanych kryteriów. Wynikiem będą tylko te, które spełniają warunek (warunki) postawiony zaraz po klauzuli WHERE.
SELECT kolumna,kolumna,.. FROM tabela WHERE kolumna='wartość'
Warunki logiczne mogą składać się z operatorów takich jak :
- znak rówości (=)
- negacja (!=)
- znak mniejszości (<) lub (<=)
- znak więkoszości (>) lub (>=)
PRZYKŁAD
Wybieramy z tabeli Customer imiona klientów którzy mieszkają w Lublinie
Tabela Customer :
zapytanie : SELECT name FROM customer WHERE city='Lublin'
Wynik zapytania :