|
Kategoria:
Instrukcja
SELECT służy do
wybierania
wierszy i
kolumn z jednej lub kilku
tabel. Może być używany jako osobna
instrukcja lub jako
zapytanie lub
podzapytanie
w innych poleceniach.
SELECT [predykat][funkcja]
{ kolumna [ AS alias ] [,...] | { tabela.* } * } FROM wyrażenie_tabelowe [IN
...]
[ WHERE ...] [ GROUP BY ... ] [{ UNION
| INTERSECT | EXCEPT} [ALL] [CORRESPONDING [BY
(kolumna,...)]] [ HAVING
... ] [ ORDER BY ...]
- predykat - w MS Access jeden z predykatów: ALL, DISTINCT, DISTINCTROW
lub TOP. Domyślnie przyjmuje się predykat ALL.
W SQL-92 możliwy jest tylko jeden predykat DISTINCT. Predykaty stosuje
się w celu ograniczenia liczby
zwracanych rekordów.
- funkcja - funkcja agregująca,
np.: MIN, MAX, SUM,
COUNT etc..
- * - oznacza, że wszystkie kolumny ze
wszystkich wymienionych tabel powinny zostać pobrane
- tabela.* - oznacza, że
wszystkie kolumny z podanej tabeli powinny zostać pokazane
- kolumna - nazwa kolumny z danymi, które
mają być pobrane
- wyrażenie_tabelowe - nazwa tabeli lub
tabel zawierających pobierane dane
- alias - nazwa, która zostanie
użyta jako nagłówki kolumn w miejsce nazw kolumn z tabeli
- UNION | INTERSECT | EXCEPT
[ALL] - operatory używane przy łączeniu wyników z dwóch zapytań.
Operator UNION powoduje iż do wynikowej tabeli zostanie włączony każdy
wiersz z każdego zapytania, jeśli wiersze się powtarzają włączona
zostanie tylko jedna ich kopia. UNION ALL - powoduje iż także powtarzające
się wiersze zostaną włączone do wynikowej tabeli. Operator
EXCEPT powoduje iż wszystkie wiersze z drugiego zapytania zostaną
wyeliminowane z wyniku, a duplikaty pojawią się tylko raz, EXCEPT ALL
spowoduje iż od ilości powtarzających się wierszy z wyniku zapytania 1
zostanie odjęta ilość powtarzających się w zapytaniu 2 i taki
wiersz pojawi się na wyjściu tyle razy ile wynosi różnica. Operator
INTERSECT poowduje iż każdy wiersz pojawiający się na wyjściu
zapytania 1 i zapytania 2 jest tylko raz wynikiem, INTERSECT ALL
spowoduje iż powtarzające wiersze pojawią się na wyjściu tyle
razy, co w wyniku 1 lub 2 - w zależności od tego która liczba jest
mniejsza
- CORRESPONDING BY
(kolumna,...) - powoduje ograniczenie łączenia wyników z zapytań do
wymienionych kolumn. Użycie samego słowa CORRESPONDING z pominięciem
nazw kolumn oznacza wybranie wszystkich kolumn o tych samych nazwach i
typach danych istniejących w tabelach.
- FROM
- WHERE
- GROUP BY
- HAVING
- ORDER BY
- AS
- IN
SELECT * FROM pracownicy;
[pokazuje wszystkie pola z
tabeli 'pracownicy']
Przykład w Ms Access 97
SELECT imie, nazwisko FROM studenci ;
[pokazuje dane z pól:
'imie' i 'nazwisko' z tabeli 'studenci']
Przykład w Ms Access 97
SELECT id_pracownika, nazwisko FROM
pracownicy WHERE stanowisko = 'kierownik';
[pokazuje pracownika na stanowisku kierownika]
Przykład w Ms Access 97
|