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óra instrukcja SQL dodaje nowe wiersze do tabeli?

  1. AUPDATE
  2. BALTER
  3. CINSERT
  4. DSELECT
2.Łatwy

Która instrukcja usuwa wiersze z tabeli?

  1. ATRUNCATE COLUMN
  2. BDELETE
  3. CDROP
  4. DREMOVE
3.Łatwy

Do której części SQL należą GRANT i REVOKE?

  1. AData Query Language (DQL)
  2. BData Definition Language (DDL)
  3. CData Control Language (DCL)
  4. DData Manipulation Language (DML)
4.Średni

Które zapytanie zwraca najwyższą pensję w każdym dziale?

  1. ASELECT MAX(dept), salary FROM emp GROUP BY salary
  2. BSELECT dept, salary FROM emp WHERE salary = MAX(salary)
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT dept, MAX(salary) FROM emp ORDER BY dept
5.Średni

Co zwraca EXCEPT (w Oracle nazywane MINUS)?

  1. AWiersze pierwszego zapytania, które nie występują w drugim
  2. BWiersze występujące w obu zapytaniach
  3. CWiersze drugiego zapytania, które nie występują w pierwszym
  4. DWszystkie wiersze z obu zapytań bez duplikatów
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 = NULL
  2. BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.Trudny

Tabela ma milion wierszy i kolumnę logiczną is_active, która jest TRUE dla 95% z nich. Dlaczego optymalizator może zignorować indeks na is_active dla WHERE is_active = TRUE?

  1. AIndeks traktuje TRUE jak NULL
  2. BOptymalizator nigdy nie używa indeksów w klauzulach WHERE
  3. CPasuje większość wierszy, więc pełne skanowanie tabeli jest tańsze niż wiele wyszukiwań w indeksie
  4. DIndeksów nie można tworzyć na kolumnach logicznych
8.Trudny

Jaki jest wynik SELECT COUNT(col) FROM t, jeśli wszystkie wartości w col są NULL, a tabela ma 10 wierszy?

  1. ANULL
  2. B0
  3. C10
  4. DBłąd

Klucz odpowiedzi

  1. 1. C · INSERT
  2. 2. B · DELETE
  3. 3. C · Data Control Language (DCL)
  4. 4. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  5. 5. A · Wiersze pierwszego zapytania, które nie występują w drugim
  6. 6. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · Pasuje większość wierszy, więc pełne skanowanie tabeli jest tańsze niż wiele wyszukiwań w indeksie
  8. 8. B · 0

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