Bazy danych i SQL: karta pracy z odpowiedziami

Darmowa karta pracy do druku – Bazy danych i SQL: 8 zadań od łatwych do poziomu egzaminu, z kluczem odpowiedzi. Wydrukuj ją lub zapisz jako PDF.

Dla nauczycieli: można bezpłatnie drukować, kopiować i używać na zajęciach. Każdy nowy arkusz ma nowe wartości i własny klucz odpowiedzi. Będziemy wdzięczni za link do ExamProblems na stronie kursu.

Imię: ____________________   Data: ____________

1.Łatwy

Które ograniczenie gwarantuje, że kolumna nigdy nie pozostanie pusta (NULL)?

  1. ANOT NULL
  2. BUNIQUE
  3. CDEFAULT
  4. DCHECK NULL
2.Łatwy

Czym UNION ALL różni się od UNION?

  1. AUNION ALL zachowuje powtarzające się wiersze
  2. BUNION ALL usuwa powtarzające się wiersze
  3. CUNION ALL sortuje wynik
  4. DUNION ALL działa tylko na jednej tabeli
3.Łatwy

Która klauzula w PostgreSQL i MySQL zwraca tylko pierwsze 10 wierszy wyniku?

  1. AFIRST 10 ONLY
  2. BMAX 10
  3. CTOP ROWS 10
  4. DLIMIT 10
4.Średni

Co zapewnia wspólne wyrażenie tablicowe, CTE (WITH name AS (...))?

  1. ATrwałą tabelę, która pozostaje zapisana na dysku, dopóki nie zostanie usunięta
  2. BNazwany tymczasowy wynik, którego można używać w obrębie jednej instrukcji
  3. CIndeks na kolumnie
  4. DNowego użytkownika bazy danych
5.Średni

Tabela employees ma kolumnę manager_id, która odwołuje się do innego pracownika. Jak wypisać każdego pracownika obok nazwiska jego kierownika?

  1. AZłączyć tabelę employees z nią samą przy użyciu dwóch aliasów
  2. BUtworzyć na dysku drugą kopię tabeli
  3. CUżyć wyłącznie GROUP BY manager_id
  4. DPołączyć tabelę ze sobą za pomocą UNION ALL i filtra WHERE
6.Średni

Które zapytanie wypisuje klientów, którzy nigdy nie złożyli zamówienia?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.Trudny

Czym jest indeks pokrywający (covering index) dla zapytania?

  1. AIndeksem zawierającym wszystkie kolumny potrzebne zapytaniu, dzięki czemu nie trzeba czytać samej tabeli
  2. BIndeksem obejmującym każdą kolumnę każdej tabeli
  3. CIndeksem przebudowywanym co noc
  4. DIndeksem wyłącznie na kluczu głównym
8.Trudny

Wyniki to 90, 90 i 80. Jakie wartości daje RANK() OVER (ORDER BY score DESC)?

  1. A1, 1, 3
  2. B1, 1, 2
  3. C2, 2, 3
  4. D1, 2, 3

Klucz odpowiedzi

  1. 1. A · NOT NULL
  2. 2. A · UNION ALL zachowuje powtarzające się wiersze
  3. 3. D · LIMIT 10
  4. 4. B · Nazwany tymczasowy wynik, którego można używać w obrębie jednej instrukcji
  5. 5. A · Złączyć tabelę employees z nią samą przy użyciu dwóch aliasów
  6. 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. A · Indeksem zawierającym wszystkie kolumny potrzebne zapytaniu, dzięki czemu nie trzeba czytać samej tabeli
  8. 8. A · 1, 1, 3

Pełne rozwiązania krok po kroku: ćwicz ten temat na examproblems.com.