Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Bazy danych

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. Pracownikowi o id równym 5 należy obniżyć pensję o 50 zł. Które polecenie SQL to zrealizuje?

A.
UPDATE pracownicy SET pensja = 50 WHERE id = 5;
B.
UPDATE pensja SET pracownicy = pensja - 50 WHERE id = 5;
C.
UPDATE pracownicy SET pensja = pensja - 50;
D.
UPDATE pracownicy SET pensja = pensja - 50 WHERE id = 5;
Poprawne polecenie to UPDATE pracownicy SET pensja = pensja - 50 WHERE id = 5;. Instrukcja UPDATE modyfikuje istniejące rekordy w tabeli wskazanej bezpośrednio po słowie UPDATE, czyli w tym przypadku w tabeli pracownicy. Część SET pensja = pensja - 50 oznacza, że nowa wartość kolumny pensja ma zostać obliczona na podstawie jej dotychczasowej wartości pomniejszonej o 50. Warunek WHERE id = 5 ogranicza zmianę tylko do pracownika o identyfikatorze 5. Do zapamiętania: składnia aktualizacji ma postać UPDATE tabela SET kolumna = wyrażenie WHERE warunek;. Brak WHERE przy UPDATE jest typową pułapką, ponieważ wtedy zmiana obejmuje wszystkie rekordy w tabeli.
W tym zadaniu trzeba odróżnić zmianę wartości w kolumnie od wpisania stałej liczby oraz pamiętać o ograniczeniu aktualizacji warunkiem. Polecenie UPDATE pensja SET pracownicy = pensja - 50 WHERE id = 5; ma zamienione znaczenie elementów składni: po UPDATE powinna wystąpić nazwa tabeli, a po SET nazwa modyfikowanej kolumny. Byłoby sensowne tylko wtedy, gdyby istniała tabela pensja i kolumna pracownicy, co nie wynika z treści zadania. Polecenie UPDATE pracownicy SET pensja = 50 WHERE id = 5; ustawia pensję dokładnie na 50 zł, a nie obniża jej o 50 zł. Polecenie UPDATE pracownicy SET pensja = pensja - 50; poprawnie używa wyrażenia arytmetycznego, ale nie zawiera WHERE, więc obniżyłoby pensję wszystkim pracownikom. Właściwa instrukcja to UPDATE pracownicy SET pensja = pensja - 50 WHERE id = 5;. Typowy błąd polega na potraktowaniu UPDATE jak prostego przypisania bez uwzględnienia zakresu rekordów.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.