Podane w ramce polecenie SQL ma za zadanie
UPDATE Uczen SET id_klasy = id_klasy + 1 WHERE id_klasy < 4;
A. zwiększyć o cztery wartość kolumny id_klasy we wszystkich rekordach tabeli Uczen.
B. zwiększyć o jeden wartość kolumny id_klasy we wszystkich rekordach tabeli Uczen.
C. ustawić wartość kolumny id_klasy na 4 w rekordach, w których jest ona mniejsza od 4.
D. zwiększyć o jeden wartość kolumny id_klasy tylko w rekordach, w których jest ona mniejsza od 4.
Poprawna odpowiedź to: zwiększyć o jeden wartość kolumny id_klasy tylko w rekordach, w których jest ona mniejsza od 4. Polecenie UPDATE modyfikuje istniejące rekordy w tabeli. Fragment SET id_klasy = id_klasy + 1 oznacza, że nowa wartość kolumny zostanie obliczona na podstawie jej dotychczasowej wartości, powiększonej o 1. Warunek WHERE id_klasy < 4 ogranicza działanie polecenia tylko do tych wierszy, które spełniają ten warunek. Rekordy z id_klasy równym 4 lub większym nie zostaną zmienione. Do zapamiętania: składnia UPDATE tabela SET kolumna = wyrażenie WHERE warunek służy do kontrolowanej modyfikacji danych. Brak WHERE spowodowałby zmianę wszystkich rekordów w tabeli.
W tym poleceniu najważniejsze są jednocześnie dwa fragmenty: SET oraz WHERE. Treść zwiększyć o jeden wartość kolumny id_klasy we wszystkich rekordach tabeli Uczen byłaby trafna, gdyby polecenie nie zawierało warunku WHERE. Tutaj warunek id_klasy < 4 ogranicza zakres zmian. Treść ustawić wartość kolumny id_klasy na 4 w rekordach, w których jest ona mniejsza od 4 opisuje inne polecenie, na przykład SET id_klasy = 4 WHERE id_klasy < 4. W podanym SQL nie ma przypisania stałej wartości 4, tylko obliczenie id_klasy + 1. Treść zwiększyć o cztery wartość kolumny id_klasy we wszystkich rekordach tabeli Uczen myli liczbę dodawaną oraz pomija warunek. Poprawne znaczenie polecenia to: zwiększyć o jeden wartość kolumny id_klasy tylko w rekordach, w których jest ona mniejsza od 4. Typowy błąd polega na odczytaniu warunku jako wartości docelowej albo na pominięciu ograniczenia WHERE.