ullman140 (2)

ullman140 (2)



286 $. jąZYK BAZ DANYCH SQL

PRZYKŁAD 5.3

Poniższy przykład dotyczy lego samego zapytania co przykład 5.2, chcemy tylko tym razem, aby w nagłówku relacji wynikowej zostały wpisane teksty; nazwa oraz czasTrwania.

SELSCT tytuł AS nazwa, długość AS czasTrwania FROM Film

WHERE nazwaStudia = 'Disney' AND rek = 1990;

W wyniku tego zapytania powstaje ten sam zbiór krotek, co w zapytaniu z przykładu 5.2. ale tym razem z nagłówkami kolumn zawierającymi teksty: długość oraz czasTrwania. Początek relacji wynikowej może zatem wy-

glądać następująco:

nazwa

czasTrwania

Fretty Wornan

119


Można także W' klauzuli SELECT pytać o wartość pewnego wyrażenia, niekoniecznie o wartość atrybutu.

PRZYKŁAD 5.4

Tym razem zapytanie z przykładu 5.3 zmodyfikujemy tak, by uzyskać czas trwania filmu wyrażony w godzinach, a nic w minutach, jak to jest zapisywane w relacji Film. Klauzula SELECT naszego przykładowego zapytania zostaje wówczas przekształcona do następującej postaci:

SELECT tytuł AS nazwa, długość * 0.016667 AS czasWGo-dzinach

Do wyniku zostaną wprowadzone te same krotki co w poprzednim przykładzie, ale teraz czas trwania zostanie wyrażony w godzinach, a w nagłówku drugiej kolumny zostanie umieszczony tekst czasWGodzinach.

PR/.YKŁAI) 5.5

W klauzuli SELECT można również umieszczać stałe. Na pozór może się to wydawać bezcelowe, ale czasami wygodnie jest umieścić na przykład w wynikowej tabeli jakieś teksty', które będą prezentowane razem z wynikiem, po to by był bardziej czytelny. Stosując następujące zapytanie:

SELECT tytuł, długość * 0.016667 AS długość, 'godz.'

AS wGodzinach FROM Film

WHERE nazwaStudia = 'Disney' AND rok = 199C;

otrzymujemy na przykład wynik następujący:

tytuł

długość

1 wGodzinach

Pret*.y Wornan

1.98334

|ęodz.

Utworzyliśmy w ten sposób trzecią kolumnę relacji wynikowej, o nagłówku wGodzinach, który' tworzy całość z nagłówkiem drugiej kolumny długość. W każdej krotce wyniku na końcu pojawi się napis godz., który- oznacza jednostkę dla wartości występujących w drugiej kolumnie.

Niewrażliwość na rejestr czcionki

Język SQL jest niewrażliwy na rejestr czcionki. Oznacza to. że wielkie i małe litery są nierozróżnialne. Jeśli na przykład słowo kluczowe FROM zapiszemy kapitalikami, to i tak nie będzie to miało żadnego znaczenia, bo ten napis zostanie zinterpretowany tak samo jak napis From, from lub nawet FrOm. W podobny sposób wielkie i małe litery nie są w języku SQL rozróżniane w nazwach atrybutów, relacji, w synonimach itd. Tylko w stałych tekstowych w języku SQL małe i wielkie litery oznaczają co innego. Dlatego na przykład stałe tekstowe 'FROM' oraz 'irorr.' oznaczają różne napisy, oczywiście żaden z tych napisów nie jest słowem kluczowym FROM.

5.1.2. Działanie selekcji w języku SQL

Działanie selekcji z algebry- relacji jest dostępne przez występować klauzuli WHF.RL, która ma jednak jeszcze inne cechy. Po słowie kluczowyi WHERE występuje wyrażenie warunkowe, podobne do wyrażeń warunkowym z popularnych języków programow-ania, takich jak C lub Pascal.

Do zapisu porównywania wartości w języku SQL służy sześć operat rów: =, < >, <, >, <=, oraz >=. Ich znaczenie jest powszechnie znane, jest oi takie same jak w Pascalu (dla przeciwników Pascala przypominamy, że ta < > oznacza „nierówne”).

W wyrażeniu mogą występować stałe oraz atrybuty tych relacji, kić są wymienione w klauzuli FROM. Wartości numeryczne możemy łącz w wyrażenia arytmetyczne, korzystając ze zwyczajowych operatorów1 -h ilp. Na przykład wartością warunku (rok - 1930) * (rok - 1930) < 1 jest prawda, jeśli wartość atry butu rok oznacza pewien rok z lat trzydz stych. Z kolei teksty można konkatenować, stosując w tym celu operator na przykład wyrażenie 'dwie' || 'belki', oznacza to samo co 'dwi belki'.


Wyszukiwarka

Podobne podstrony:
ullman140 (2) 286 $. jąZYK BAZ DANYCH SQL PRZYKŁAD 5.3 Poniższy przykład dotyczy lego samego zapytan
16814 ullman179 (2) S ,ir;7.YK BAZ DANYCH $QL PRZYKŁAD 5.52 Rozważmy ponownie informację lotniczą, k
ullman141 (2) 288 5 JĘZYK BAZ DANYCH SQI. W przykładzie 5.1 występuje porównanie: nazwaStudia = Dis
ullman179 (2) S ,ir;7.YK BAZ DANYCH $QL PRZYKŁAD 5.52 Rozważmy ponownie informację lotniczą, która s
ullman142 (2) 290 5. JEŻYK BAZ DANYCH SQL drugiego tekstu. Podobnie jak to występowało w przypadku t
ullman158 (2) 322 5. JĘZYK BAZ DANYCH SQL To nowe zapytanie zostało przedstawione na rys. 5.11. Powo
ullman161 (2) dZ5 5. JĘZYK BAZ DANYCH SQL jednocześnie zostanie usunięte kilka krotek, które spełnia
53669 ullman151 (2) 308 5. JEŻYK BAZ DANYCH SQL T5.3.2. Warunki obejmujące relacje W języku SQL
26440 ullman141 (2) 288 5 JĘZYK BAZ DANYCH SQI. W przykładzie 5.1 występuje porównanie: nazwaStudia
69806 ullman184 (2) 374    5 JI-ZYK BAZ DANYCH SQL Ćwiczenie 5.10.2. W ćwiczeniu 4.4.
70987 ullman154 (2) .5 l*ł 5. JĘZYK BAZ DANYCH SQL MĆwiczenie 5.3.6. Można już było uprzednio dostrz

więcej podobnych podstron