Instrukcja SELECT
SELECT * FROM tab_name;
wyświetla wszystkie kolumny z tabeli tab_name.
SELECT tab_name.col_1, tab_name.col_2 FROM tab_name;
lub w skrócie:
SELECT col_1, col_2 FROM tab_name;
wyświetla kolumny col_1, col_2 z tabeli tab_name;
działa dla dowolnej liczby kolumn, oddzielonych przecinkiem.
Klauzula DISTINCT
SELECT DISTINCT tab_name.col_1,tab_name.col_2 FROM
tab_name;
Wyświetla kolumny col_1, col_2 z tabeli tab_name. Powtarzające się wiersze są
wyświetlane tylko raz.
Klauzula AS
SELECT tab_name.col_1, tab_name.col_2 AS new_col_name
FROM tab_name;
lub
SELECT tab_name.col_1, tab_name.col_2 AS „new col name”
FROM tab_name;
Wyświetla kolumny col_1 oraz col_2 zamieniając nagłówek drugiej kolumny na
new_col_name (new col name). Nazwa kolumny musi być jednym wyrazem lub
należy ująć ją w cudzysłów.
Nowa nazwa obowiązuje tylko w tabeli wynikowej, przy kolejnych zapytaniach
należy używać niezmienionej nazwy kolumny. Nazwa kolumny w tabeli w bazie nie
ulega zmianie!
Klauzula ORDER BY
SELECT tab_name.col_1, tab_name.col_2 FROM tab_name ORDER
BY tab_name.col_1 ASC;
Wyświetla kolumny col_1 i col_2 z tabeli tab_name posortowane rosnąco względem
pierwszej kolumny. Ten porządek sortowania jest domyślny.
SELECT tab_name.col_1, tab_name.col_2 FROM tab_name ORDER
BY tab_name.col_1 DESC;
Wyświetla kolumny col_1 i col_2 z tabeli tab_name posortowane malejąco względem
pierwszej kolumny.
SELECT tab_name.col_1, tab_name.col_2 FROM tab_name ORDER
BY tab_name.col_1, tab_name.col_2 DESC;
Wyświetla kolumny col_1 i col_2 z tabeli tab_name posortowane rosnąco względem
pierwszej kolumny, a przy powtarzających się danych w col_1 malejąco względem
drugiej.
Połączenie klauzul AS i ORDER BY
SELECT col_name AS new_col_name FROM tab_name ORDER BY
new_col_name;
SELECT tab_name.col_1, tab_name.col_2 AS 2 FROM tab_name
ORDER BY 2;
Obliczenia
SELECT n*k
wynik to n*k
SELECT exp(n)
wynik to wartość liczby e podniesionej do n-tej potęgi
SELECT log(n)
wyświetla wartość logarytmu naturalnego z liczby n
SELECT power(n,k)
wyznacza wartość liczby n, podniesiona do k-tej potęgi
SELECT tab_name.col_1, tab_name.col_2*tab_name.col_3 AS
new_tab_name.col_3 FROM tab_name ORDER BY
new_tab_name.col_3;
Klauzula WHERE
SELECT tab_name.columnss FROM tab_name WHERE conditions;
Wyświetla rekordy spełniające warunki conditions.
Operatory porównania
=
równy
<
mniejszy
<= mniejszy lub równy
>
większy
>= większy lub równy
<> różny (obsługiwany również jako !=)
tab_name.col IS
NULL
prawdziwe, gdy w kolumnie tab_name.col nie
istnieje wartość
tab_name.col IS NOT
NULL
prawdziwe, gdy podano wartość w kolumnie
tab_name.col
NOT, AND, OR – negacja, logiczny iloczyn, suma logiczna.
BETWEEN...AND... - szukanie wartości z zadanego przedziału
SELECT k1, k2, k3 FROM tab_name WHERE k2 BETWEEN min_value AND
max_value;
Wyświetlenie wierszy, w których wartości w podanej kolumnie należą do zadanego
przedziału, wraz z wartościami granicznymi.
IN(zbiór) - szukanie w zbiorze podanych wartości
SELECT k1, k2, k3 FROM tab_name WHERE k2 IN (w1, w2, ...);
Wyświetla wiersze, w których w wybranej kolumnie wartość należy do pewnego zbioru o
elementach w1, w2, ...
LIKE... - szukanie względem wzorca tekstowego
SELECT k1, k2, k3 FROM tab_name WHERE k2 LIKE 'pattern_text';
Wyszukiwanie w wybranych kolumnach tekstowych wartości, zgodne ze wzorcem
pattern_text.
Znaki specjalne występujące we wzorcu
% zastępuje dowolny (także pusty) ciąg znaków
_ zastępuje dokładnie jeden znak
SELECT k1, k2, k3 FROM tab_name WHERE k2 LIKE 'pattern' ESCAPE
'escape_sign';
Zapis rozszerzony umożliwiający wyszukanie testów, zawierających w treści znak % oraz _.
Jeśli we wzorcu pattern znaki % lub _ zostaną poprzedzone znakiem ucieczki escape_sign,
wówczas będą traktowane jako fragmenty wzorca, a nie jako znaki specjalne.