Polecenie TRUNCATE służy do szybkiego usunięcia wszystkich rekordów (wierszy) z tabeli, przy jednoczesnym pozostawieniu samej tabeli w bazie danych. Oznacza to, że po wykonaniu TRUNCATE tabela nadal istnieje: zachowane są jej kolumny, typy danych, ograniczenia (w zależności od silnika) oraz możliwość dalszego wstawiania nowych rekordów.
Odpowiedź DELETE jest niepoprawna w tym pytaniu, ponieważ choć DELETE potrafi usunąć wszystkie rekordy (np. bez klauzuli WHERE), to pytanie typowo sprawdza rozróżnienie: TRUNCATE jest dedykowane do wyczyszczenia całej tabeli, a DELETE to usuwanie rekordów w sposób bardziej "selektywny" i standardowo kojarzony z filtrowaniem. W praktyce DELETE może być wolniejsze i ma inne zachowanie transakcyjne oraz konsekwencje dla logowania/triggerów – zależnie od DBMS.
Odpowiedź DROP jest błędna, bo usuwa tabelę jako obiekt (strukturę), czyli po wykonaniu DROP TABLE nie ma już tabeli, do której aplikacja mogłaby dalej zapisywać dane bez ponownego utworzenia obiektu.
Odpowiedź REMOVE jest błędna, ponieważ nie jest standardowym poleceniem SQL do usuwania danych z tabeli w typowych systemach relacyjnych.
Wskazówka egzaminacyjna: zapamiętaj trzy poziomy "usuwania": usuwanie wierszy (DELETE), wyczyszczenie całej zawartości tabeli (TRUNCATE), usunięcie obiektu (DROP). Jeśli w treści jest "usuń rekordy, ale nie usuwaj tabeli", najczęściej chodzi o TRUNCATE.