Podane w ramce polecenie SQL ma za zadanie
UPDATE Uczen SET id_klasy = 1;
A. ustawić na 1 wartość pola Uczen.
B. ustawić wartość kolumny id_klasy na 1 tylko w pierwszym rekordzie tabeli Uczen.
C. zwiększyć o jeden wartość kolumny id_klasy dla wszystkich rekordów tabeli Uczen.
D. ustawić wartość kolumny id_klasy na 1 dla wszystkich rekordów tabeli Uczen.
Poprawna odpowiedź to: ustawić wartość kolumny id_klasy na 1 dla wszystkich rekordów tabeli Uczen. Polecenie UPDATE służy do modyfikowania danych już zapisanych w tabeli. Składnia ma postać: UPDATE nazwa_tabeli SET nazwa_kolumny = wartość. W tym przypadku tabelą jest Uczen, modyfikowaną kolumną jest id_klasy, a nową wartością jest 1. Ponieważ w poleceniu nie występuje klauzula WHERE, zmiana obejmie każdy rekord w tabeli, bez filtrowania. W praktyce takie zapytanie stosuje się np. przy masowej zmianie przypisania uczniów do jednej klasy. Typowa pułapka polega na pominięciu WHERE wtedy, gdy zmiana miała dotyczyć tylko wybranych rekordów.
W tym poleceniu najważniejsze jest rozpoznanie działania instrukcji UPDATE oraz skutku braku klauzuli WHERE. Poprawna odpowiedź brzmi: ustawić wartość kolumny id_klasy na 1 dla wszystkich rekordów tabeli Uczen. Odpowiedź zwiększyć o jeden wartość kolumny id_klasy dla wszystkich rekordów tabeli Uczen byłaby trafna dla zapisu w rodzaju UPDATE Uczen SET id_klasy = id_klasy + 1;, czyli wtedy, gdy nowa wartość zależy od poprzedniej. Odpowiedź ustawić na 1 wartość pola Uczen myli nazwę tabeli z nazwą pola - Uczen jest tabelą, a modyfikowaną kolumną jest id_klasy. Odpowiedź ustawić wartość kolumny id_klasy na 1 tylko w pierwszym rekordzie tabeli Uczen zakłada ograniczenie liczby rekordów, którego w zapytaniu nie ma. Typowy błąd myślowy to traktowanie UPDATE jako operacji wykonywanej na jednym rekordzie domyślnie. W SQL bez WHERE modyfikowane są wszystkie pasujące rekordy, czyli tutaj cała tabela.