Zapytania 1

Transkrypt

Zapytania 1
Bazy danych, zajęcia nr 1
słowa kluczowe:
SELECT, ||, order by ASC/DESC, distinct, działania (+, -, *, /), nazywanie kolumn,
wydobywanie części daty, round(), lower(), upper(), ltrim(), rtrim(), trim()
1. Wypisz zawartość tabeli Puby.
2. Wypisz nazwę piwa i jego cenę hurtową (t. Piwa)
3. Wypisz imiona i nazwiska (w tej kolejności) piwoszy z tabeli Osoby. Uporządkuj rekordy
w kolejności alfabetycznej wg nazwiska.
4. Jw. tylko nazwiska wyświetl wielkimi literami.
5. Wypisz identyfikatory ulubionych piw piwoszy bez powtórzeń (t. Osoby)
6. Wypisz nazwę piwa i cenę hurtową zaokrąglając do jednego miejsca po przecinku (t. Piwa)
7. Wypisz imiona, nazwiska i datę urodzenia piwoszy. Imiona i nazwiska (oddzielone spacją)
wypisz w jednej kolumnie o nazwie "Piwosz". Rekordy uporządkuj od osoby urodzonej
najpóźniej (tzn. najmłodszej) do osoby urodzonej najwcześniej.
8. J.w. tylko zamiast pełnej daty urodzenia wyświetl jedynie rok. Rekordy uporządkuj wg
roku rosnąco i wg kolumny "Piwosz" malejąco.
-- sqlite: http://www.sqlite.org/lang_datefunc.html - funkcja strftime("%Y", ...)
-- MySQL i MS SQL Server: funkcja year(...) (np. year('20098-01-10') daje 2009)
9. Wypisz nazwy pubów oraz długość ich istnienia (zakładamy, Ŝe aktualny rok to 2009).
10. J.w. tylko długość istnienia pubów podaj w miesiącach (zakładamy, Ŝe kaŜdy rok istnienia
to 12 m-cy).
W domu:
11. Wypisz nazwy piw, cenę hurtową w złotówkach oraz cenę hurtową w dolarach (przyjmij
kurs dolara 2 zł, wynik zaokrąglij do dwóch miejsc po przecinku). Przy wartościach w
złotówkach powinien znajdować się napis "zl", natomiast przy dolarach "USD".
12. Zmodyfikuj zapytanie z punktu 9 tak, aby jego wynik był poprawny niezaleŜnie od roku,
w którym zostanie wywołane. W tym celu zapoznaj się z działaniem funkcji date() (sqlite:
http://www.sqlite.org/lang_datefunc.html) i sprawdź wynik następującego zapytania:
SELECT date();
UWAGA! W MySQL tę samą role spełnia funkcja curdate(), natomiast w MS SQL Server
funkcja getdate().
13. Wypisz wszystkie RÓśNE imiona z tabeli Osoby. Wszystkie wielkie litery zamień na
małe. Wynik uporządkuj w odwrotnej kolejności alfabetycznej.
14. Sprawdź działanie funkcji ltrim(), rtrim(), trim(), wykonując kolejno zapytania (przed oraz
po wyrazie 'politechnika' jest pięć spacji):
SELECT ' Politechnika ' as 'bez trim';
SELECT ltrim(' Politechnika ') as 'z ltrim';
SELECT rtrim(' Politechnika ') as 'z rtrim';
SELECT trim(' Politechnika ') as 'z trim'; -- nie występuje w MS SQL Server2005