1.Łatwy
Które ograniczenie gwarantuje, że kolumna nigdy nie pozostanie pusta (NULL)?
- ANOT NULL
- BUNIQUE
- CDEFAULT
- DCHECK NULL
2.Łatwy
Czym UNION ALL różni się od UNION?
- AUNION ALL zachowuje powtarzające się wiersze
- BUNION ALL usuwa powtarzające się wiersze
- CUNION ALL sortuje wynik
- DUNION ALL działa tylko na jednej tabeli
3.Łatwy
Która klauzula w PostgreSQL i MySQL zwraca tylko pierwsze 10 wierszy wyniku?
- AFIRST 10 ONLY
- BMAX 10
- CTOP ROWS 10
- DLIMIT 10
4.Średni
Co zapewnia wspólne wyrażenie tablicowe, CTE (WITH name AS (...))?
- ATrwałą tabelę, która pozostaje zapisana na dysku, dopóki nie zostanie usunięta
- BNazwany tymczasowy wynik, którego można używać w obrębie jednej instrukcji
- CIndeks na kolumnie
- 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?
- AZłączyć tabelę employees z nią samą przy użyciu dwóch aliasów
- BUtworzyć na dysku drugą kopię tabeli
- CUżyć wyłącznie GROUP BY manager_id
- 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?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- 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?
- AIndeksem zawierającym wszystkie kolumny potrzebne zapytaniu, dzięki czemu nie trzeba czytać samej tabeli
- BIndeksem obejmującym każdą kolumnę każdej tabeli
- CIndeksem przebudowywanym co noc
- 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)?
- A1, 1, 3
- B1, 1, 2
- C2, 2, 3
- D1, 2, 3
Klucz odpowiedzi
- 1. A · NOT NULL
- 2. A · UNION ALL zachowuje powtarzające się wiersze
- 3. D · LIMIT 10
- 4. B · Nazwany tymczasowy wynik, którego można używać w obrębie jednej instrukcji
- 5. A · Złączyć tabelę employees z nią samą przy użyciu dwóch aliasów
- 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. A · Indeksem zawierającym wszystkie kolumny potrzebne zapytaniu, dzięki czemu nie trzeba czytać samej tabeli
- 8. A · 1, 1, 3
Pełne rozwiązania krok po kroku: ćwicz ten temat na examproblems.com.