1
SQLIntermediate#joins
DELETE removes selected rows, is logged, fires triggers and can be rolled back. TRUNCATE removes all rows quickly with minimal logging and resets identity. DROP removes the table definition itself.
DELETE FROM orders WHERE status = 'cancelled'; -- filtered, rollback-able TRUNCATE TABLE orders; -- all rows, fast, identity reset DROP TABLE orders; -- table gone