Introduction
We use UPDATE with a subquery to change data in one table based on information from another table. It helps keep data accurate and connected.
UPDATE table_to_update SET column_to_change = (SELECT value FROM another_table WHERE condition) WHERE some_condition;
UPDATE employees SET department = (SELECT dept_name FROM departments WHERE departments.id = employees.dept_id) WHERE dept_id IS NOT NULL;
UPDATE products SET price = (SELECT AVG(price) FROM products WHERE category = 'Books') WHERE category = 'Books';
CREATE TABLE employees (id INT, name VARCHAR(20), dept_id INT, department VARCHAR(20)); CREATE TABLE departments (id INT, dept_name VARCHAR(20)); INSERT INTO employees VALUES (1, 'Alice', 10, NULL), (2, 'Bob', 20, NULL), (3, 'Carol', 10, NULL); INSERT INTO departments VALUES (10, 'Sales'), (20, 'HR'); UPDATE employees SET department = (SELECT dept_name FROM departments WHERE departments.id = employees.dept_id) WHERE dept_id IS NOT NULL; SELECT id, name, dept_id, department FROM employees ORDER BY id;
UPDATE statement with a subquery do in SQL?Employees(emp_id, dept_id, salary)Departments(dept_id, bonus)UPDATE Employees SET salary = salary + (SELECT bonus FROM Departments WHERE Departments.dept_id = Employees.dept_id);
UPDATE Products SET price = (SELECT discount FROM Discounts WHERE product_id = Products.id);
Users table to set each user's status to 'VIP' if their total orders amount exceeds 1000. The Orders table has user_id and amount. Which query correctly uses UPDATE with a subquery to do this?Pass the test and this pattern moves unknown