bok


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.

 

Składnia

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 ...]

 

Objaśnienia

  • 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

 

Przykłady

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




Powrót