Bird
Raised Fist0
SQLquery~5 mins

UPDATE multiple columns in SQL - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: UPDATE multiple columns
O(n)
Understanding Time Complexity

When we update multiple columns in a database table, it is important to understand how the time it takes grows as the table gets bigger.

We want to know how the work changes when there are more rows to update.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


UPDATE employees
SET salary = salary * 1.05,
    bonus = bonus + 1000
WHERE department = 'Sales';
    

This code updates the salary and bonus columns for all employees in the Sales department.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The database scans each row to check if it belongs to the Sales department and then updates the columns.
  • How many times: This happens once for each row in the table, but only rows matching the condition are updated.
How Execution Grows With Input

As the number of rows grows, the database must check more rows to find those in the Sales department.

Input Size (n)Approx. Operations
10About 10 checks and some updates
100About 100 checks and more updates
1000About 1000 checks and many updates

Pattern observation: The work grows roughly in direct proportion to the number of rows.

Final Time Complexity

Time Complexity: O(n)

This means the time to update grows linearly with the number of rows in the table.

Common Mistake

[X] Wrong: "Updating multiple columns takes more time than updating one column for each row."

[OK] Correct: The main cost is finding the rows to update. Changing more columns in those rows adds little extra time compared to scanning the rows.

Interview Connect

Understanding how updates scale helps you explain database performance clearly and shows you know what affects query speed.

Self-Check

"What if we removed the WHERE clause and updated all rows? How would the time complexity change?"

Practice

(1/5)
1. What does the SQL UPDATE statement do when you specify multiple columns in the SET clause?
easy
A. It deletes the rows that match the condition.
B. It only updates the first column listed and ignores the rest.
C. It creates new rows with the specified column values.
D. It changes the values of all specified columns in the selected rows.

Solution

  1. Step 1: Understand the UPDATE statement

    The UPDATE statement modifies existing rows in a table.
  2. Step 2: Effect of multiple columns in SET clause

    When multiple columns are listed in SET, all those columns are updated in the rows that match the WHERE condition.
  3. Final Answer:

    It changes the values of all specified columns in the selected rows. -> Option D
  4. Quick Check:

    UPDATE with multiple columns updates all listed columns [OK]
Hint: SET updates all listed columns together [OK]
Common Mistakes:
  • Thinking UPDATE adds new rows
  • Believing UPDATE deletes rows
  • Assuming only first column updates
2. Which of the following is the correct syntax to update two columns, price and stock, in a table named products?
easy
A. UPDATE products SET price = 10, stock = 50 WHERE id = 1;
B. UPDATE products (price = 10, stock = 50) WHERE id = 1;
C. UPDATE products SET (price, stock) = (10, 50) WHERE id = 1;
D. UPDATE products WHERE id = 1 SET price = 10, stock = 50;

Solution

  1. Step 1: Recall correct UPDATE syntax

    The correct syntax is UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
  2. Step 2: Check each option

    UPDATE products SET price = 10, stock = 50 WHERE id = 1; matches the correct syntax exactly. The other options have syntax errors.
  3. Final Answer:

    UPDATE products SET price = 10, stock = 50 WHERE id = 1; -> Option A
  4. Quick Check:

    SET column = value pairs separated by commas [OK]
Hint: Use SET column=value, column=value syntax [OK]
Common Mistakes:
  • Using parentheses incorrectly in SET clause
  • Placing WHERE before SET
  • Missing commas between column assignments
3. Given the table employees with columns salary and bonus, what will be the result of this query?
UPDATE employees SET salary = salary + 1000, bonus = 500 WHERE department = 'Sales';
medium
A. All employees get salary and bonus updated regardless of department.
B. Only the salary of Sales employees increases; bonus remains unchanged.
C. All employees in Sales get their salary increased by 1000 and bonus set to 500.
D. Syntax error because multiple columns cannot be updated together.

Solution

  1. Step 1: Understand the WHERE clause effect

    The WHERE clause limits updates to rows where department = 'Sales'.
  2. Step 2: Analyze SET clause changes

    Salary increases by 1000 and bonus is set to 500 for those rows only.
  3. Final Answer:

    All employees in Sales get their salary increased by 1000 and bonus set to 500. -> Option C
  4. Quick Check:

    WHERE filters rows; SET updates all listed columns [OK]
Hint: WHERE limits rows; SET updates all columns listed [OK]
Common Mistakes:
  • Ignoring WHERE and updating all rows
  • Thinking bonus stays unchanged
  • Believing multiple columns update causes error
4. Identify the error in this SQL statement:
UPDATE orders SET status = 'Shipped' stock = 0 WHERE order_id = 123;
medium
A. WHERE clause should come before SET clause.
B. Missing comma between column assignments in SET clause.
C. Incorrect table name used.
D. Quotes around 'Shipped' should be double quotes.

Solution

  1. Step 1: Check SET clause syntax

    Multiple columns must be separated by commas in SET clause.
  2. Step 2: Identify missing comma

    Between status = 'Shipped' and stock = 0, a comma is missing.
  3. Final Answer:

    Missing comma between column assignments in SET clause. -> Option B
  4. Quick Check:

    Separate columns with commas in SET [OK]
Hint: Put commas between each column=value pair [OK]
Common Mistakes:
  • Omitting commas between columns
  • Placing WHERE before SET
  • Using wrong quotes for strings
5. You want to update the price and discount columns in the products table only for items where category is 'Electronics' and current stock is less than 10. Which query correctly does this?
hard
A. UPDATE products SET price = price * 0.9, discount = 10 WHERE category = 'Electronics' AND stock < 10;
B. UPDATE products SET price = price * 0.9, discount = 10 WHERE category = 'Electronics' OR stock < 10;
C. UPDATE products SET price = price * 0.9 discount = 10 WHERE category = 'Electronics' AND stock < 10;
D. UPDATE products SET price = price * 0.9, discount = 10 WHERE category = 'Electronics' AND stock > 10;

Solution

  1. Step 1: Understand the condition requirements

    We want to update only rows where category is 'Electronics' AND stock is less than 10.
  2. Step 2: Check each option's WHERE clause and syntax

    UPDATE products SET price = price * 0.9, discount = 10 WHERE category = 'Electronics' AND stock < 10; uses AND with correct conditions and proper syntax. UPDATE products SET price = price * 0.9, discount = 10 WHERE category = 'Electronics' OR stock < 10; uses OR, which updates more rows. UPDATE products SET price = price * 0.9 discount = 10 WHERE category = 'Electronics' AND stock < 10; misses a comma between assignments. UPDATE products SET price = price * 0.9, discount = 10 WHERE category = 'Electronics' AND stock > 10; uses stock > 10, which is incorrect.
  3. Final Answer:

    UPDATE products SET price = price * 0.9, discount = 10 WHERE category = 'Electronics' AND stock < 10; -> Option A
  4. Quick Check:

    Use AND for combined conditions and commas between columns [OK]
Hint: Use AND for all conditions; separate columns with commas [OK]
Common Mistakes:
  • Using OR instead of AND in WHERE
  • Missing commas between columns
  • Wrong comparison operators in WHERE
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard