KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 17.
UPDATE katalog SET katalog.cena = [cena]*1.1; 
Przedstawiona instrukcja zapisana w języku SQL jest przykładem kwerendy
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja zawiera słowo kluczowe UPDATE oraz klauzulę SET, czyli modyfikuje wartości w istniejących rekordach tabeli. W tym przykładzie pole cena jest przeliczane (mnożone przez 1.1), więc jest to kwerenda aktualizująca, a nie usuwająca ani łącząca dane.

Pełne wyjaśnienie:

W SQL wyróżnia się m.in. kwerendy (zapytania) służące do modyfikacji danych, czyli tzw. DML. Do tej grupy należą m.in. INSERT (dodawanie), UPDATE (aktualizacja) i DELETE (usuwanie).

Pokazana instrukcja zaczyna się od UPDATE katalog, co oznacza, że operacja będzie wykonywana na istniejących wierszach (rekordach) tabeli katalog. Następnie występuje SET, czyli część, w której podaje się nowe wartości kolumn. Wyrażenie katalog.cena = [cena]*1.1 wskazuje, że dla każdego wiersza ma zostać wyliczona nowa wartość pola cena (tu: zwiększenie o 10%). To jest typowy wzorzec kwerendy aktualizującej.

Odpowiedź "usuwającej" byłaby poprawna, gdyby użyto polecenia DELETE, które usuwa rekordy z tabeli (często z warunkiem WHERE). W prezentowanej instrukcji nie ma DELETE, więc nie zachodzi usuwanie danych.

Odpowiedź "dołączającej" kojarzy się z łączeniem danych z wielu tabel (JOIN) w zapytaniach SELECT lub z dołączaniem (append) rekordów, co w SQL odpowiada raczej INSERT. Tutaj nie ma ani JOIN, ani wstawiania nowych rekordów.

Odpowiedź "krzyżowej" dotyczy zwykle iloczynu kartezjańskiego (CROSS JOIN) lub kwerend krzyżowych (crosstab) znanych z niektórych narzędzi raportowych. Instrukcja UPDATE z pojedynczą tabelą i bez łączeń nie realizuje kwerendy krzyżowej.

Wskazówka egzaminacyjna: aby szybko rozpoznać typ kwerendy, najpierw spójrz na pierwsze słowo kluczowe (UPDATE/DELETE/INSERT/SELECT), a dopiero potem analizuj szczegóły (SET, WHERE, JOIN).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Kwerenda aktualizująca to zapytanie SQL, które zmienia wartości w istniejących rekordach tabeli. Najczęściej używa polecenia UPDATE oraz klauzuli SET, a opcjonalnie WHERE, aby ograniczyć, które wiersze mają zostać zmienione.
Najprościej po pierwszym słowie kluczowym. Jeśli instrukcja zaczyna się od UPDATE i zawiera SET, to jej celem jest aktualizacja danych w tabeli. Dodatkowo WHERE (jeśli jest) zawęża liczbę modyfikowanych rekordów.
Klauzula SET wskazuje, które kolumny mają dostać nowe wartości i jakie to mają być wartości. Bez SET nie da się zdefiniować zmian. Możesz ustawić stałą (np. 0) albo obliczenie (np. cena * 1.1).
Mnożenie przez 1.1 oznacza zwiększenie wartości o 10% (bo 1.0 to 100%, a 0.1 to dodatkowe 10%). Taki zapis bywa używany przy masowej zmianie cennika. W praktyce warto dodać WHERE, aby nie zmienić całej tabeli.
WHERE stosuje się wtedy, gdy chcesz zaktualizować tylko wybrane rekordy, np. jeden produkt lub jedną kategorię. Bez WHERE aktualizacja obejmie wszystkie wiersze tabeli, co jest częstym błędem na ćwiczeniach i w pracy administratora baz danych.
Zależy od systemu bazy danych. W czystym ujęciu SQL aktualizujesz jedną tabelę naraz, ale niektóre silniki pozwalają na aktualizację z użyciem złączeń. Na egzaminie najważniejsze jest rozpoznanie, że samo polecenie UPDATE oznacza kwerendę aktualizującą.
UPDATE zmienia wartości w istniejących rekordach (rekord zostaje, ale ma inne dane). DELETE usuwa rekordy z tabeli (znikają wiersze). Oba polecenia mogą mieć WHERE, ale skutki są zupełnie inne, więc trzeba je rozróżniać.
Kwerenda krzyżowa (crosstab) służy zwykle do zestawień i agregacji danych w układzie wiersze/kolumny, a nie do modyfikowania wartości w tabeli. Polecenie UPDATE nie jest kwerendą krzyżową, bo jego celem jest zmiana danych, nie tworzenie przekrojowego raportu.
"Dołączanie" kojarzy się z łączeniem tabel (JOIN) albo z dopisywaniem rekordów (INSERT). W pokazanej instrukcji nie ma ani JOIN, ani INSERT. Jest natomiast UPDATE ... SET, czyli modyfikacja istniejących danych, co odpowiada kwerendzie aktualizującej.
Najczęściej: brak WHERE (niechciana zmiana całej tabeli), pomylenie kolumny z wartością (np. ustawienie pola na tekst zamiast liczby), oraz mylenie UPDATE z DELETE/INSERT. Warto też pamiętać o typach danych i o tym, że UPDATE zmienia rekordy, a nie strukturę tabeli.
info

To pytanie poprawnie rozwiązuje 75% zdających egzamin. średnio łatwe

Według specjalistów z branży: "Instrukcja zawiera słowo kluczowe UPDATE oraz klauzulę SET, czyli modyfikuje wartości w istniejących rekordach tabeli."

Źródła:

  • PostgreSQL Documentation: "UPDATE" (SQL Command), https://www.postgresql.org/docs/current/sql-update.html - accessed 2026-03-01
  • MySQL 8.0 Reference Manual: "UPDATE Statement", https://dev.mysql.com/doc/refman/8.0/en/update.html - accessed 2026-03-01
  • Microsoft Learn: "UPDATE (Transact-SQL)", https://learn.microsoft.com/en-us/sql/t-sql/queries/update-transact-sql - accessed 2026-03-01

Materiały:

  • Dokumentacja SQL wybranego systemu (np. MySQL/PostgreSQL/Microsoft SQL Server) – sekcja UPDATE
  • Ćwiczenia z DML: UPDATE/DELETE/INSERT na przykładowej bazie sklepu
  • Materiały kursowe z podstaw relacyjnych baz danych (tabele, kolumny, typy kwerend)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego