KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2015

PYTANIE NR 16.
Wskaż poprawne polecenie aktualizujące dane w tabeli pracownicy.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna instrukcja UPDATE wymaga podania nazwy tabeli po słowie UPDATE, listy zmian po SET oraz (zwykle) warunku w WHERE. Polecenie "UPDATE pracownicy SET wynagrodzenie=1500 WHERE wynagrodzenie<1500" spełnia te wymagania i aktualizuje tylko rekordy z pensją poniżej 1500, podnosząc je do 1500.

Pełne wyjaśnienie:

Instrukcja UPDATE służy do modyfikacji istniejących wierszy w tabeli. Kluczowe elementy poprawnej składni to:

  • UPDATE nazwa_tabeli – wskazanie, w której tabeli będą zmieniane dane,
  • SET kolumna=wartość – określenie, które kolumny i na jakie wartości mają zostać ustawione,
  • WHERE warunek – ograniczenie liczby aktualizowanych wierszy (bez WHERE zwykle aktualizowane są wszystkie rekordy).

Dlatego poprawne jest polecenie: "UPDATE pracownicy SET wynagrodzenie=1500 WHERE wynagrodzenie<1500". Zmienia ono wartość kolumny wynagrodzenie na 1500 tylko dla tych pracowników, których wynagrodzenie było mniejsze niż 1500. To typowy przykład masowej korekty danych (np. wyrównanie do poziomu minimalnego progu).

Pozostałe propozycje są błędne składniowo: brakuje w nich nazwy tabeli bezpośrednio po UPDATE, niepoprawnie użyto SET, wprowadzono nielogiczne warunki lub pomylono role elementów (tabela/kolumna/warunek). W praktyce takie zapytania nie wykonają się w typowych silnikach SQL albo zostaną odrzucone przez parser.

Wskazówka egzaminacyjna: przed uruchomieniem UPDATE w realnej pracy często wykonuje się najpierw SELECT z takim samym warunkiem WHERE, aby upewnić się, które rekordy zostaną zmienione. W środowisku produkcyjnym warto też pracować w transakcji i mieć kopię zapasową.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
UPDATE to instrukcja SQL do modyfikowania istniejących rekordów w tabeli. Zwykle ma postać: UPDATE tabela SET kolumna=wartość WHERE warunek. Najważniejsze jest użycie WHERE, aby nie zmienić wszystkich wierszy przypadkowo.
SET wskazuje, które kolumny mają zostać zmienione i na jakie wartości. Można zaktualizować jedną lub wiele kolumn, np. SET a=1, b=2. Bez SET instrukcja UPDATE jest niepoprawna.
WHERE ogranicza aktualizację do wybranych wierszy. Bez WHERE większość silników SQL zaktualizuje wszystkie rekordy w tabeli, co jest częstą przyczyną błędów w aplikacjach. Zawsze sprawdzaj warunek przed wykonaniem zmian.
Najprościej wykonać SELECT z identycznym warunkiem WHERE, np. SELECT * FROM pracownicy WHERE wynagrodzenie<1500. Jeśli wyniki są zgodne z oczekiwaniem, dopiero wtedy uruchom UPDATE.
Tak. W SET podajesz listę przypisań oddzielonych przecinkami, np. SET wynagrodzenie=1500, premia=0. To często wykorzystywane w administracji bazą, gdy trzeba jednocześnie skorygować kilka pól w tych samych rekordach.
Najczęściej: brak nazwy tabeli po słowie UPDATE, pominięcie SET, zły zapis warunku WHERE, mylenie tabeli z kolumną oraz wpisywanie pseudoopcji typu table_name=.... Pomaga zapamiętanie stałej kolejności: UPDATE → SET → WHERE.
Praktycznie tylko wtedy, gdy celowo chcesz zmienić wszystkie wiersze w tabeli (np. ustawienie wspólnej flagi). W typowych zadaniach egzaminacyjnych i w aplikacjach webowych brak WHERE jest sygnałem ostrzegawczym.
Operator porównania < oznacza "mniejsze niż" w standardowych dialektach SQL. Trzeba jednak pamiętać o typach danych: dla liczb działa liczbowo, a dla tekstów porównanie może zależeć od kolacji/porządku sortowania.
Aplikacja wysyła zapytanie UPDATE do silnika bazy (np. MySQL/PostgreSQL), często z parametrami. Dobre praktyki to używanie zapytań parametryzowanych, walidacja danych oraz transakcje przy większych zmianach, aby uniknąć częściowych aktualizacji.
Ćwicz na prostych tabelach: dopisz kilka rekordów, wykonuj SELECT z warunkiem, a potem UPDATE z tym samym WHERE. Ucz się rozpoznawać obowiązkowe elementy składni (UPDATE tabela, SET, WHERE) i typowe pułapki, np. brak ograniczenia warunkiem.
info

To pytanie poprawnie rozwiązuje 61% zdających egzamin. średnie

Eksperci podkreślają: "Poprawna instrukcja UPDATE wymaga podania nazwy tabeli po słowie UPDATE, listy zmian po SET oraz (zwykle) warunku w WHERE."

Źródła:

  • PostgreSQL Documentation: UPDATE — The Basic UPDATE Statement, https://www.postgresql.org/docs/current/sql-update.html - accessed 2026-02-28
  • MySQL 8.0 Reference Manual: UPDATE Statement, https://dev.mysql.com/doc/refman/8.0/en/update.html - accessed 2026-02-28
  • SQLite Documentation: UPDATE, https://www.sqlite.org/lang_update.html - accessed 2026-02-28

Materiały:

  • Dokumentacja SQL wybranego silnika (MySQL/PostgreSQL/SQLite) – sekcja UPDATE
  • Ćwiczenia praktyczne: wykonywanie UPDATE na przykładowych tabelach z warunkami WHERE
  • Materiały o bezpieczeństwie operacji modyfikujących (transakcje, backup, test na SELECT przed UPDATE)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego