SQL interview question: DELETE Rows With No Match
Remove the Ghost Students
An import bug created student accounts that were never enrolled in anything. Compliance wants them gone.
Write a single DELETE statement removing every student who has no rows in enrollments.
Note: Your change is verified automatically and rolled back afterwards.
This challenge changes data. Your statement runs on a private copy of the database, then we check the resulting table.
Tables
students 25 rows
- student_id integer PK
- name text
- email text
- grade_level integer
- gpa real
- enrollment_date text
| student_id | name | grade_level | gpa | enrollment_date | |
|---|---|---|---|---|---|
| 1 | Alice Johnson | [email protected] | 12 | 3.9 | 2024-09-01 |
| 2 | Bob Smith | [email protected] | 12 | 3.7 | 2024-09-01 |
| 3 | Carol Williams | [email protected] | 12 | 3.8 | 2024-09-01 |
enrollments 47 rows
- enrollment_id integer PK
- student_id integer → students
- course_id integer → courses
- semester text
- grade text
| enrollment_id | student_id | course_id | semester | grade |
|---|---|---|---|---|
| 1 | 1 | 1 | Fall 2024 | A |
| 2 | 1 | 3 | Fall 2024 | A |
| 3 | 1 | 5 | Fall 2024 | A- |