Concept Flow - DELETE with WHERE condition
Start DELETE command
Check WHERE condition on each row
Mark row
Delete marked rows
End
The DELETE command checks each row against the WHERE condition. Rows that match are deleted; others stay.
DELETE FROM Employees WHERE Department = 'Sales';
| Step | Row ID | Department | WHERE Condition (Department='Sales') | Action |
|---|---|---|---|---|
| 1 | 1 | HR | False | Keep row |
| 2 | 2 | Sales | True | Mark for deletion |
| 3 | 3 | IT | False | Keep row |
| 4 | 4 | Sales | True | Mark for deletion |
| 5 | 5 | Marketing | False | Keep row |
| 6 | - | - | - | Delete rows marked for deletion (Row IDs 2,4) |
| 7 | - | - | - | End of DELETE command |
| Variable | Start | After 1 | After 2 | After 3 | After 4 | After 5 | Final |
|---|---|---|---|---|---|---|---|
| Rows in Employees | [1:HR,2:Sales,3:IT,4:Sales,5:Marketing] | [1:HR,2:Sales,3:IT,4:Sales,5:Marketing] | [1:HR,2:Sales,3:IT,4:Sales,5:Marketing] | [1:HR,2:Sales,3:IT,4:Sales,5:Marketing] | [1:HR,2:Sales,3:IT,4:Sales,5:Marketing] | [1:HR,2:Sales,3:IT,4:Sales,5:Marketing] | [1:HR,3:IT,5:Marketing] |
DELETE FROM table_name WHERE condition; - Checks each row against condition. - Deletes only rows where condition is true. - Without WHERE, deletes all rows. - Use carefully to avoid data loss.