w3resource

How to Delete Multiple Records from a SQL Table Based on Condition


Delete Multiple Records

Write a SQL query to delete multiple records from a table based on a specific condition.

Solution:

-- Delete all employees with a salary less than 50000.
DELETE FROM Employees -- Specify the table to delete from.
WHERE Salary < 50000; -- Delete employees earning less than 50000.

Explanation:

  • Purpose of the Query :
    • The goal is to delete all employees in the Employees table whose salary is less than 50,000.
    • This demonstrates how to use the DELETE statement to remove multiple rows from a table based on a condition.
  • Key Components :
    • DELETE FROM Employees : Specifies the table from which the records will be deleted.
    • WHERE Salary < 50000 : Filters the rows to apply the deletion only to employees whose salary is below 50,000.
  • Why use DELETE with a Condition? :
    • Deleting multiple records based on a condition is useful when you need to remove a subset of rows that meet specific criteria.
    • For example, if a company decides to remove records of employees earning below a certain threshold, this query ensures that only those employees are affected.
  • Real-World Application :
    • For example, in a company database, you might use this query to clean up records of employees who earn less than 50,000 as part of a cost-cutting measure or data cleanup process.

    Additional Notes:

    • Deleting multiple records in one query is more efficient than deleting them individually.
    • Scenarios where deleting multiple records is appropriate, such as:
      • Cleaning up outdated or redundant data (e.g., employees with outdated salaries).
      • Removing records that no longer meet business requirements.
    • Important Considerations :
      • Ensure that the WHERE clause accurately filters the intended rows to avoid unintended deletions.
      • Test the query on a small dataset or in a development environment before applying it to production data.

    For more Practice: Solve these Related Problems:

    • Write a SQL query to delete all records from the `students` table where the `grade` is 'F'.
    • Write a SQL query to delete all records from the `inventory` table where the `quantity` is less than 10.
    • Write a SQL query to delete all records from the `orders` table where the `order_date` is older than two years.
    • Write a SQL query to delete all records from the `products` table where the `category` is 'Discontinued'.

    Have another way to solve this solution? Contribute your code (and comments) through Disqus.

    Previous SQL Exercise: Delete Single Record
    Next SQL Exercise: Insert with Default Values.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.