SQL DQL - ćwiczenia w zapytaniach, funkcjach agregujących i złączeniach

Bazując na bazie testowej Sakila, wykonaj następujące ćwiczenia.

Lista 1: zapytania na jednej tabeli

  1. Podaj tytuły, opisy, czas wypożyczenia, koszt wypożyczenia za dzień i całkowity koszt wypożyczenia (jako iloczyn czasu wypożyczenia i jego kosztu) dla każdego filmu. Przyjmij, że pole rental_rate zawiera koszt wypożyczenia za dzień (według dokumentacji bazy jest to koszt wypożyczenia na tyle dni, ile zapisano w polu rental_duration).
    • Wersja zgodna z dokumentacją. Podaj tytuły, opisy, czas wypożyczenia oraz koszt wypożyczenia za dzień (jako iloraz kosztu wypożyczenia na przewidzianą liczbę dni) dla każdego filmu.
  2. Ile jest unikalnych nazwisk aktorów? Wypisz je w kolejności alfabetycznej.
  3. Wypisz wszystkie rodzaje ratingów filmów (każdy rating jednokrotnie).
  4. Wypisz tytuły, opisy, ratingi i długość filmów, które trwają 3 godziny lub dłużej.
  5. Wypisz wszystkie informacje z tabeli customers o tych klientach, którzy są nieaktywni albo ich nazwisko kończy się na M.
  6. Wypisz wszystkie kategorie, których identyfikator jest większy niż 4, a których nazwa zaczyna się na C, S lub T. Użyj klauzuli WHERE.
  7. Wykonaj powyższe ćwiczenie, używając operatora IN.
    Uwaga. Takie zapytanie da się wykonać tylko w systemie baz danych Oracle. Używa się wówczas funkcji CONTAINS. Zobacz: Is there a combination of "LIKE" and "IN" in SQL?
    Można także skorzystać z funkcji REGEXP.
  8. Wypisz wszystkie filmy z ratingiem G, PG-13 lub NC-17. Użyj operatora IN.

Lista 2: funkcje agregujące

Poniższe zadania używają funkcji agregujących.

  1. Ile jest aktorów, których pierwsze imię to 'Scarlett'?
  2. Które nazwiska aktorów występują więcej niż raz? Podaj je, sortując od najczęstszych do najrzadszych.
  3. Podaj ID 5 pierwszych aktorów, którzy wystąpili w największej liczbie filmów.
  4. Policz, ile jest klientów przypisanych do swoich "ulubionych sklepów". Podaj ID sklepu oraz liczbę takich klientów.
  5. Rozbuduj powyższe zapytanie, by pokazać, ilu jest klientów aktywnych, a ilu nie w każdym ze sklepów.
  6. Podaj 10 klientów, którzy wypożyczyli najwięcej filmów. Podaj ich identyfikator oraz liczbę wypożyczonych filmów.
  7. Podaj średni czas trwania wszystkich filmów w bazie.

Lista 3: zapytania ze złączeniami

Poniższe zadania wymagają złączeń tabel.

  1. Podaj średni czas trwania wszystkich filmów w bazie w rozbiciu na kategorie.
  2. Podaj identyfikatory i tytuły filmów, identyfikatory sklepów oraz datę wypożyczenia 10 ostatnio wypożyczonych filmów.
  3. Podaj nazwiska i imiona (jako jedno pole) 5 pierwszych aktorów, którzy wystąpili w największej liczbie filmów.
  4. Podaj nazwy miast i państw, w których te miasta są.

2 myśli nt. „SQL DQL - ćwiczenia w zapytaniach, funkcjach agregujących i złączeniach

  1. Dzie n dobry, Czy posida Pan przykładową bazę danych z kwerendami? Potrzebuje zrobić taki projket na studia, niestety nie wiem jak się za to zabrać. Z góry dziękuję za odpowiedź

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.