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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Wyrażenia

Wyrażenia


W poleceniu SELECT nie trzeba koniecznie podawać samych nazw atrybutów, jak to było robione na poprzednich slajdach. Można również definiować pewne wyrażenia, które będą obliczane na kolejnych wartościach atrybutów (dla kolejnych przetwarzanych krotek). Na przykładzie przedstawionym na slajdzie, pokazano dwa z operatorów, które mogą zostać wykorzystane do konstrukcji wyrażeń, które można umieścić w klauzuli SELECT. Są to operatory ‘*’ i ‘||’. Ten pierwszy operator to zwykły operator mnożenia. Prócz operatora mnożenia, na danych liczbowych (takich jak pensja), można również stosować operatory: dodawania (‘+’), odejmowania (‘-’), dzielenia (‘/’) i zmiany znaku (‘-’), oraz operatory zmiany priorytetu (‘(‘ i ‘)’). Stąd, wyrażenie PLACA_POD*12 oznacza, że dla każdej kolejno odczytywanej krotki reprezentującej pracownika z bazy danych, SZBD obliczy i zwróci jego roczną płacę (atrybut PLACA_POD reprezentuje płacę miesięczną). Z kolei operator ‘||’ jest operatorem konkatenacji. W poleceniu przedstawionym na slajdzie wykorzystano go w wyrażeniu IMIE||' '||NAZWISKO. Użycie tego wyrażenia oznacza, że dla każdej kolejnej krotki SZBD wykonuje, i zwraca w relacji wynikowej, konkatenację imienia, spacji i nazwiska pracownika. Należy tutaj zwrócić uwagę na fakt, iż stałe typu łańcuchowego są w języku SQL otaczane apostrofami (np. stała ‘ ‘ w wyrażeniu IMIE||' '||NAZWISKO oznaczająca spację). W przeciwieństwie do stałych typu łańcuchowego, stałe typu liczbowego nie wymagają żadnych dodatkowych oznaczeń. Podsumowując, nieco bardziej rozbudowana wersja polecenia SELECT wygląda następująco:

SELECT {wyrażenie1, wyrażenie2,.....} FROM {nazwa relacji};

Gdzie wyrażeniem może być:

(w przypadku atrybutów typu liczbowego):

-nazwa atrybutu,

-stała liczbowa,

-suma, różnica, iloczyn, bądź iloraz dwóch wyrażeń,

w przypadku atrybutów typu łańcuchowego:

-nazwa atrybutu,

-stała łańcuchowa,

-konkatenacja dwóch wyrażeń.

Przykładowe polecenie przedstawione na slajdzie: „SELECT imie||' '||nazwisko, placa_pod*12 FROM pracownicy;” można zatem przetłumaczyć następująco: „Odczytaj wszystkie krotki z tabeli pracownicy; z każdej z tych krotek wyciągnij wartości atrybutów IMIE, NAZWISKO i PLACA_POD; IMIE i NAZWISKO skonkatenuj ze sobą i spacją (‘ ‘), a PLACE_POD pomnóż razy 12; wyniki tych operacji zwróć w relacji wynikowej.”.



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