SELECT

Służy do przeglądania bazy danych. Składa się z 6 fraz z których dwie pierwsze są obowiązkowe:

SELECT

FROM

WHERE

GROUP BY

HAVING

ORDER BY

Fraza SELECT służy do wyspecyfikowania kolumn w tablicy odpowiedzi.

Fraza FROM służy do podania nazw tablic

Np. SELECT * FROM Studenci

Fraza WHERE służy do eliminowania wierszy w tablicy odpowiedzi przy pomocy warunku przeszukiwania. Podstawowe warunki to

> < =

Predykat zakresu BETWEEN … AND

Predykat występowania IN

Predykat wzoru LIKE

Predykat wartości pustych IS NULL

Predykat istnienia EXISTS

Warunki złożone buduje się przy pomocy operatorów logicznych AND OR i NOT.

% zastępuje dowolny ciąg znaków

_ zastępuje dowolny zak.

Usuwanie zduplikowanch wierszy [DISTINCT]

SELECT DISTINCT Nazwisko From Oceny WHERE Ocena='NDST'

Porządkowanie wyników ORDER BY

Słowo DESC po nazwie kolumny zmienia porządek na malejący. Zamiast nazw kolumn można podawać numer kolejny na liście frazy SELECT

SELECT bbb FROM sss ORDER BY 3,4 DESC

Fraza UNION służy do łączenia rezultatów dwóch lub więcej instrukcji SELECT w jedn. Tablicę odpowiedzi. Łączone instrukcje SELECT muszą spełniać określone warunki:

- muszą zawierać tą samą liczbę kolumn

- odpowiednie kolumny ze wszystkich połączonych instrukcji …..

Instrukcja SELECT z wieloma tablicami:

Przy formułowaniu zapytań z kilku tablic należy pamiętać o

- umieszczeniu nazw wszystkich tablic we frazie FROM

- stosowaniu kwalifikowanych nazw pól w celu Uniknięcia niejednoznaczności

- umieszczeniu we frazie where warunku wiążącego

Przykład - fraza łącząca dane z różnych tabel:

SELECT studenci.nazwisko,

Wyniki.przedmiot

Wyniki.ocena

FROM studenci, wyniki

WHERE

[studenci.nr_studenta=wyniki.nr_studenta]

Instrukcje select dla podsumowania

Podsumowania służą do uzyskiwania odpowiedzi sumarycznych jako rezultatów instrukcji SELECT.

Służą do tych celów

Funkcje kolumnowe:

SUM() - oblicz sumę kolumny

AVG() - srednia kolumnt

MIN() oblicza najnizsza wartosc kolumny

MAX() oblicza najwyzsza wartosc kolumny

COUNT() oblicza liczbe wartosci w kolumnie

COUNT(*) oblicza liczbe wierszy ktora jest w tablicy

niejednoznacznościikowanych nazw pól w celu ie FROMtać o ..e warunki:

np.

SELECT MAX[srednia]

FROM WYNIKI

SELECT COUNT(*)

FROM WYNIKI

WHERE OCENA='NDST'

Wynikiem bedzie liczba od 0 do 6 bo tyle moze byc roznych ocen

Fraza GROUP BY - służy do otrzymywania wartości sumarycznych dla poszczególnyuch grup. Po słowie kluczowym GROUP BY występuje zestaw nazw kolumn, które definiują grupę. Nazwy muszą wystąpić we frazie SELECT

Np.

SELECT grupa, AVG(OCENA)

FROM wyniki

GROUP BY grupa

Fraza HAVING ma analogiczne zastosowanie jak WHERE. Słuzy do eliminowania wierszy podsumować.

Przykład:

SELECT grupa, AVG(oceny)

FROM wyniki

GROUP BY grupa

HAVING AVG(OCENY) > 4.0

Można robic SELECT w innym SELECT