BD-1st-2.4-lab1.tresc-1.1-Slajd28

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Selekcja

Selekcja


We wszystkich dotychczasowych przykładach zapytania odczytywały wszystkie krotki z zadanej relacji w bazie danych. Najczęściej jednak aplikacje, które wykorzystują bazy danych do składowania swoich danych, potrzebują jednorazowo odczytać jedynie niewielki podzbiór krotek zapisanych w relacjach. W celu wybrania, które krotki mają się znaleźć w relacji wynikowej, stosuje się klauzulę WHERE. Za klauzulą WHERE podaje się warunek, zdefiniowany na wartościach atrybutów w relacji, który musi być spełniony, aby krotka znalazła się w relacji wynikowej. Operację wyboru krotek, które mają się znaleźć w rozwiązaniu nazywa się „selekcją”. Składnia polecenia SELECT, rozszerzona o klauzulę WHERE, wygląda następująco:

SELECT [DISTINCT] {wyrażenie1 [AS alias1], wyrażenie2 [AS alias2],.....} FROM {nazwa relacji}

WHERE warunek_elementarny

ORDER BY {wyrażenie5 [ASC|DESC], wyrażenie6 [ASC|DESC], alias1 [ASC|DESC], alias2 [ASC|DESC].....};

gdzie „warunek_elementarny”, to porównanie jednego, dwóch lub większej liczby wyrażeń za pomocą odpowiednich operatorów logicznych.

Przykładowe zapytanie przedstawione na slajdzie:

SELECT nazwisko, etat FROM pracownicy WHERE etat=‘PROFESOR’ ORDER BY nazwisko;

można przetłumaczyć zatem następująco: odczytaj z relacji PRACOWNICY wszystkie krotki, w których atrybut ETAT ma wartość równą ‘PROFESOR’. Posortuj odczytane krotki według wartości atrybutu NAZWISKO i zwróć wartości atrybutu NAZWISKO z odczytanych i posortowanych krotek. W praktyce polecenie to zwróci posortowaną alfabetycznie listę nazwisk wszystkich profesorów. W zapytaniu tym, warunek elementarny ma postać ETAT=‘PROFESOR’ gdzie ETAT i ‘PROFESOR’ są wyrażeniami a ‘=‘ jest operatorem logicznym.

Język SQL dysponuje dużym zbiorem operatorów logicznych, które można wykorzystać przy konstrukcji warunków. Operatory te zostały przedstawione na kolejnych slajdach.


<< Poprzedni slajd | Spis treści | Następny slajd >>