Polecenia SQL używane w typowych operacjach CRUD dzielą się na różne typy działań. Jeśli celem jest usunięcie istniejącego rekordu (wiersza) z tabeli, właściwą instrukcją jest DELETE. W praktyce prawie zawsze łączy się ją z klauzulą WHERE, aby jednoznacznie wskazać, które wiersze mają zostać skasowane.
Odpowiedź "DELETE FROM Użytkownicy WHERE ID = 5" jest poprawna, ponieważ:
- DELETE FROM Użytkownicy wskazuje tabelę, z której mają zostać usunięte dane,
- WHERE ID = 5 ogranicza zakres do wiersza o ID równym 5 (zwykle jest to klucz główny lub unikatowy identyfikator).
Dlaczego pozostałe propozycje nie spełniają celu?
- "SELECT * FROM Użytkownicy WHERE ID = 5" jedynie odczytuje dane (wyszukuje rekord), niczego nie usuwa.
- "UPDATE Użytkownicy SET ID = NULL WHERE ID = 5" próbuje zmienić wartość ID na NULL. To nie jest usunięcie rekordu, a dodatkowo często jest niemożliwe, bo kolumna ID bywa kluczem głównym i nie może przyjmować NULL.
- "INSERT INTO Użytkownicy (ID) VALUES (NULL) WHERE ID = 5" ma błędną logikę: INSERT służy do wstawiania nowych wierszy, a standardowo nie łączy się go w ten sposób z WHERE do wskazywania istniejących rekordów. Nawet gdyby składnia była poprawna w jakimś dialekcie, nie realizowałaby kasowania.
Wskazówka egzaminacyjna: zawsze zwracaj uwagę na czasownik operacji. DELETE usuwa, SELECT pobiera, UPDATE aktualizuje, INSERT dodaje. Dodatkowo upewnij się, że w zapytaniu kasującym jest precyzyjny WHERE – brak warunku może skutkować usunięciem wszystkich wierszy w tabeli.