Polecenie SELECT
Ogólna postać zapytania: SELECT * FROM {nazwa relacji};
Polecenie to pozwala na odczytywanie danych z bazy oraz wykonywanie na tych danych prostych obliczeń i przekształceń. Polecenie SELECT pobiera krotki z relacji w bazie danych, opcjonalnie przetwarza je i zwraca wynik w postaci zbioru odczytanych krotek.
Np. SELECT * FROM przedmioty; co oznacza odczytaj wszystkie krotki z relacji o nazwie przedmioty, zachowując wszystkie atrybuty krotek.
Najczęściej nie ma potrzeby odczytywać wszystkich atrybutów, a tylko wybrane:
SELECT {atrybut1, atrybut2, ....} FROM {nazwa relacji};
Np. SELECT nazwa, cena FROM przedmioty; co oznacza, że zwrócone zostaną tylko wartości dotyczące atrybutów nazwa i cena.
W poleceniu SELECT można również podawać wyrażenia:
SELECT {wyrażenie1, wyrażenie2,.....} FROM {nazwa relacji};
Gdzie wyrażeniem może być:
1.w przypadku atrybutów typu liczbowego:
- nazwa atrybutu,
- stała liczbowa,
- suma, różnica, iloczyn, bądź iloraz dwóch wyrażeń,
2.w przypadku atrybutów typu łańcuchowego:
- nazwa atrybutu,
- stała łańcuchowa,
- konkatenacja dwóch wyrażeń.
Jeśli wyrażenia są bardziej skomplikowane do nazywania kolumn można używać aliasów:
SELECT {wyrażenie1 [AS alias1], wyrażenie2 [AS alias2],.....} FROM {nazwa relacji};
Bez aliasów jako nazwa kolumny umieszczone byłoby wyrażenie.
Sortowanie wyników
Samo polecenie SELECT wyświetla wyniki w przypadkowej kolejności. Jeśli wyniki mają być posortowane można użyć klauzuli ORDER BY:
SELECT wyrażenie1 FROM {nazwa relacji} ORDER BY wyrażenie2 [ASC/DESC]
ASC – sortowanie rosnąco (domyślnie)
DESC – sortowanie malejąco
Czasem zdarzy się, że w wynikach będzie kilka takich samych krotek. Aby nie powtarzały się przy wyświetlaniu należy użyć DISTINCT:
SELECT DISTINCT{wyrażenie1, wyrażenie2,.....} FROM {nazwa relacji};
Selekcja
Jeśli wyświetlone mają być tylko niektóre krotki można użyć klauzuli WHERE:
SELECT DISTINCT{wyrażenie1, wyrażenie2,.....} FROM {nazwa relacji} WHERE warunek ORDER BY wyrażenie;