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