W tabeli relacyjnej usuwanie danych realizuje się najczęściej poleceniem DELETE. Gdy trzeba skasować tylko część rekordów, kluczowa jest klauzula WHERE, która filtruje wiersze objęte operacją.
Polecenie DELETE FROM zadania WHERE status = 'zamknięte'; usuwa wyłącznie te wiersze, w których wartość w kolumnie status jest równa 'zamknięte'. Dzięki temu pozostałe zadania (np. 'otwarte', 'w trakcie') pozostają w bazie.
Odpowiedź DELETE FROM zadania; jest niepoprawna w tym kontekście, ponieważ brak warunku oznacza usunięcie wszystkich rekordów z tabeli. To typowy błąd na egzaminie: pominięcie WHERE skutkuje masowym skasowaniem danych.
Polecenia z TRUNCATE TABLE służą do szybkiego opróżnienia tabeli z danych, ale nie wybierają rekordów warunkiem. Dlatego TRUNCATE TABLE zadania; opróżniłoby całą tabelę, a forma TRUNCATE TABLE zadania WHERE status = 'zamknięte'; jest składniowo błędna w typowych dialektach SQL.
Wskazówka praktyczna: przed wykonaniem DELETE z warunkiem warto najpierw uruchomić zapytanie SELECT z tym samym WHERE, aby sprawdzić, które rekordy zostaną usunięte. Zmniejsza to ryzyko przypadkowej utraty danych.