banner
vote

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 :
id
name
city
date
1
Adam
Lublin
2011-02-05
2
Monika
Gdynia
2011-02-19
3
Natalia
Zakopane
2011-02-23
4
Katarzyna
Lublin
2011-03-08
5
Marcin
Warszawa
2011-03-21
zapytanie : SELECT id,name,city FROM customer
Wynik zapytania :
id
name
city
1
Adam
Lublin
2
Monika
Gdynia
3
Natalia
Zakopane
4
Katarzyna
Lublin
5
Marcin
Warszawa
ĆWICZENIE
Wybierz wszystkie identyfikatory i nazwy produktów
Tabela Product :
id
name
price
amount
date
5
Spodnie
100
5
2011-02-01
6
Bluza
60
2
2011-02-12
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 :
id
name
price
amount
date
5
Spodnie
100
5
2011-02-01
6
Bluza
60
2
2011-02-12
zapytanie : SELECT name,price,date FROM product ORDER BY date DESC
Wynik zapytania :
name
price
date
Koszula
49.5
2011-02-15
T-shirt
25
2011-02-15
Bluza
60
2011-02-12
Kurtka
45
2011-02-03
Szalik
20.5
2011-02-03
Czapka
12.5
2011-02-01
Hustka
10
2011-02-01
Spodnie
89
2011-02-01

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 :
id
name
city
date
1
Adam
Lublin
2011-02-05
2
Monika
Gdynia
2011-02-19
3
Natalia
Zakopane
2011-02-23
4
Katarzyna
Lublin
2011-03-08
5
Marcin
Warszawa
2011-03-21
zapytanie : SELECT name FROM customer WHERE city='Lublin'
Wynik zapytania :
name
Adam
Katarzyna