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. Pracownikom, których pensja jest niższa niż 3000 zł, należy ją podnieść o 100 zł. Które polecenie SQL to zrealizuje?

A.
UPDATE pracownicy SET pensja = pensja + 100 WHERE pensja < 3000;
B.
UPDATE pracownicy WHERE pensja < 3000 SET pensja = pensja + 100;
C.
UPDATE pracownicy SET pensja = 100 WHERE pensja < 3000;
D.
UPDATE pracownicy SET pensja = pensja + 100;
Poprawne polecenie to: UPDATE pracownicy SET pensja = pensja + 100 WHERE pensja < 3000;. Instrukcja UPDATE służy do modyfikowania istniejących rekordów w tabeli. Część SET pensja = pensja + 100 oznacza, że nowa wartość kolumny pensja zostanie obliczona na podstawie jej dotychczasowej wartości, powiększonej o 100. Warunek WHERE pensja < 3000 ogranicza zmianę tylko do tych pracowników, których pensja jest niższa niż 3000 zł. Do zapamiętania jest składnia: UPDATE nazwa_tabeli SET kolumna = nowa_wartość WHERE warunek;. W praktyce brak WHERE przy UPDATE jest częstą pułapką, ponieważ wtedy zmodyfikowane zostaną wszystkie rekordy w tabeli.
W tym zadaniu trzeba jednocześnie zwiększyć istniejącą pensję i ograniczyć zmianę do wybranych rekordów. Polecenie UPDATE pracownicy SET pensja = pensja + 100; jest składniowo poprawne, ale nie ma warunku WHERE, więc podniosłoby pensję wszystkim pracownikom, także tym zarabiającym 3000 zł lub więcej. Polecenie UPDATE pracownicy SET pensja = 100 WHERE pensja < 3000; zawiera warunek, ale ustawia pensję na stałą wartość 100, zamiast dodać 100 do obecnej pensji. Byłoby trafne tylko przy przypisywaniu jednej konkretnej wartości. Polecenie UPDATE pracownicy WHERE pensja < 3000 SET pensja = pensja + 100; ma nieprawidłową kolejność składni SQL, ponieważ SET występuje przed WHERE. Poprawna postać to: UPDATE pracownicy SET pensja = pensja + 100 WHERE pensja < 3000;. Typowy błąd polega na pomyleniu przypisania stałej wartości z obliczeniem nowej wartości na podstawie starej albo na pominięciu warunku ograniczającego zakres aktualizacji.

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.