1.Łatwy
Co robi ograniczenie CHECK?
- ASprawdza, czy tabela istnieje, zanim zostanie na niej wykonane zapytanie
- BLiczy wiersze w tabeli
- CWeryfikuje hasło użytkownika
- DOdrzuca wiersze, których wartości nie spełniają warunku
2.Łatwy
Które ograniczenie gwarantuje, że kolumna nigdy nie pozostanie pusta (NULL)?
- AUNIQUE
- BCHECK NULL
- CDEFAULT
- DNOT NULL
3.Łatwy
Które wiersze wybiera WHERE price BETWEEN 10 AND 20?
- AWiersze z ceną spoza zakresu od 10 do 20
- BWiersze z ceną od 10 do 20, łącznie z 10 i 20
- CTylko wiersze z ceną powyżej 10 i poniżej 20, z wyłączeniem 10 i 20
- DTylko wiersze z ceną równą 10 lub 20
4.Ś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 INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
5.Średni
Czym jest SQL injection?
- ASposób dodawania indeksów
- BTechnika tworzenia kopii zapasowych bazy danych
- CTechnika szybkiego wstawiania wielu wierszy jedną instrukcją INSERT
- DAtak, w którym dane wejściowe użytkownika zmieniają strukturę zapytania SQL
6.Średni
Co zwraca SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?
- AKażde nazwisko z etykietą 'pass' lub 'fail' zależnie od oceny
- BLiczbę studentów, którzy zdali i nie zdali
- CBłąd, bo CASE nie jest dozwolone w SELECT
- DTylko studentów, którzy zdali
7.Trudny
Jaki algorytm złączenia optymalizator często wybiera dla złączenia równościowego dwóch dużych tabel bez przydatnych indeksów?
- AZłączenie zagnieżdżonymi pętlami z wyszukiwaniem w indeksie
- BZłączenie bitmapowe na kluczu głównym
- CZłączenie haszujące (hash join)
- DZłączenie krzyżowe
8.Trudny
Co zwraca SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?
- ATylko pracowników zarabiających więcej niż średnia w ich dziale
- BJeden wiersz na dział z jego średnią pensją
- CKażdy wiersz pracownika wraz ze średnią pensją w jego dziale
- DBłąd, bo name nie występuje w GROUP BY
Klucz odpowiedzi
- 1. D · Odrzuca wiersze, których wartości nie spełniają warunku
- 2. D · NOT NULL
- 3. B · Wiersze z ceną od 10 do 20, łącznie z 10 i 20
- 4. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 5. D · Atak, w którym dane wejściowe użytkownika zmieniają strukturę zapytania SQL
- 6. A · Każde nazwisko z etykietą 'pass' lub 'fail' zależnie od oceny
- 7. C · Złączenie haszujące (hash join)
- 8. C · Każdy wiersz pracownika wraz ze średnią pensją w jego dziale
Pełne rozwiązania krok po kroku: ćwicz ten temat na examproblems.com.