W tabeli szkola (kolumny: imie, nazwisko, klasa) chcemy usunąć absolwentów - uczniów klasy 6. Które polecenie jest poprawne?
Źle.
UPDATE zmienia dane, a nie usuwa wierszy.Źle.
SELECT tylko wyświetli tych uczniów, nie usunie ich.Dobrze.
DELETE FROM ... WHERE usuwa wiersze spełniające warunek.Źle.
DROP usuwa całe obiekty (tabele), nie pojedyncze wiersze.Aby usunąć z tabeli wybrane wiersze, używa się
DELETE FROM z warunkiem WHERE wskazującym, które rekordy skasować. Usunięcie uczniów klasy 6 to DELETE FROM szkola WHERE klasa = 6. Bez WHERE usunęłoby wszystkich, więc warunek jest tu kluczowy. Dlatego poprawne jest to polecenie DELETE.Pozostałe zapytania nie usuną tych uczniów lub są błędne.
SELECT * FROM szkola WHERE klasa = 6 jedynie wyświetli wiersze - odczyt nie kasuje danych. UPDATE szkola SET klasa = 6 zmieniłoby wszystkim uczniom klasę na 6 zamiast cokolwiek usuwać. DROP działa na całych obiektach (np. DROP TABLE usuwa tabelę) i nie używa się go z WHERE do kasowania pojedynczych wierszy. Usunięcie wybranych rekordów wykonuje DELETE FROM szkola WHERE klasa = 6, dlatego to ono jest poprawne.