Bird
Raised Fist0
SQLquery~10 mins

UPDATE single column in SQL - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - UPDATE single column
Start
↓
Identify Table
↓
Set new value for one column
↓
Apply WHERE condition?
No→Update all rows
Yes↓
Update matching rows
↓
End
The UPDATE command changes values in one column of a table, optionally filtering rows with WHERE.
Execution Sample
SQL
UPDATE employees
SET salary = 60000
WHERE employee_id = 3;
This updates the salary of the employee with ID 3 to 60000.
Execution Table
StepActionEvaluationResult
1Identify table 'employees'Table foundReady to update
2Set 'salary' = 60000Prepare new valueValue ready
3Check WHERE employee_id = 3Row 1: employee_id=1 -> FalseSkip row 1
4Check WHERE employee_id = 3Row 2: employee_id=2 -> FalseSkip row 2
5Check WHERE employee_id = 3Row 3: employee_id=3 -> TrueUpdate row 3 salary to 60000
6Check WHERE employee_id = 3Row 4: employee_id=4 -> FalseSkip row 4
7Finish updateAll rows checkedUpdate complete
💡 All rows checked, only row with employee_id=3 updated
Variable Tracker
VariableStartAfter Step 3After Step 5Final
salary (row 1)50000500005000050000
salary (row 2)52000520005200052000
salary (row 3)58000580006000060000
salary (row 4)49000490004900049000
Key Moments - 2 Insights
Why does only one row get updated even though we set salary = 60000?
Because the WHERE condition filters rows. Only the row where employee_id = 3 matches and gets updated, as shown in execution_table rows 3 to 6.
What happens if we omit the WHERE clause?
Without WHERE, all rows get updated. The execution_table would skip the condition checks and update every row's salary.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the salary of employee_id=3 after step 5?
A58000
B60000
C52000
D49000
💡 Hint
Check the 'Result' column at step 5 where the update happens.
At which step does the update command skip a row because the WHERE condition is false?
AStep 3
BStep 5
CStep 7
DStep 2
💡 Hint
Look at the evaluation for row 1 in the execution_table.
If the WHERE clause is removed, how would the execution_table change?
AOnly the first row would be updated.
BNo rows would be updated.
CAll rows would be updated without condition checks.
DThe update would fail with an error.
💡 Hint
Refer to the key moment about omitting WHERE clause.
Concept Snapshot
UPDATE table_name
SET column_name = new_value
[WHERE condition];

- Changes one column's value
- WHERE filters which rows update
- Without WHERE, all rows update
Full Transcript
The UPDATE single column command changes values in one column of a table. It starts by identifying the table, then prepares the new value. It checks each row against the WHERE condition. Only rows matching the condition get updated. Others stay the same. If no WHERE is given, all rows update. This example updates salary to 60000 for employee_id 3 only.

Practice

(1/5)
1. What does the SQL statement UPDATE employees SET salary = 5000 WHERE id = 3; do?
easy
A. It changes the salary to 5000 for the employee with id 3.
B. It adds a new employee with salary 5000 and id 3.
C. It deletes the employee with id 3.
D. It shows the salary of employee with id 3.

Solution

  1. Step 1: Understand the UPDATE statement

    The UPDATE command changes existing data in a table.
  2. Step 2: Analyze the SET and WHERE clauses

    SET salary = 5000 changes the salary column, WHERE id = 3 limits the change to the employee with id 3.
  3. Final Answer:

    It changes the salary to 5000 for the employee with id 3. -> Option A
  4. Quick Check:

    UPDATE with SET and WHERE changes specified rows [OK]
Hint: UPDATE changes data; SET picks column; WHERE picks rows [OK]
Common Mistakes:
  • Thinking UPDATE adds new rows
  • Forgetting WHERE updates all rows
  • Confusing UPDATE with SELECT
2. Which of the following is the correct syntax to update the price column to 20 in the products table for product with id 10?
easy
A. UPDATE products SET price = 20 WHERE id = 10;
B. UPDATE products price = 20 WHERE id = 10;
C. UPDATE products SET price WHERE id = 10 = 20;
D. UPDATE products SET price = 20;

Solution

  1. Step 1: Check the UPDATE syntax

    The correct syntax is UPDATE table_name SET column = value WHERE condition;
  2. Step 2: Validate each option

    UPDATE products SET price = 20 WHERE id = 10; matches the correct syntax with SET and WHERE clauses properly used.
  3. Final Answer:

    UPDATE products SET price = 20 WHERE id = 10; -> Option A
  4. Quick Check:

    Correct UPDATE syntax uses SET column = value and WHERE [OK]
Hint: Always use SET column = value and WHERE condition [OK]
Common Mistakes:
  • Omitting SET keyword
  • Placing WHERE before SET
  • Missing semicolon at end
3. Given the table students with columns id, name, and grade, what will be the result of this query?
UPDATE students SET grade = 90 WHERE name = 'Alice';

Assuming the table before update:
id | name  | grade
1  | Alice | 85
2  | Bob   | 88
3  | Alice | 92
medium
A. No rows will be updated because name is not unique.
B. Only the first row with name 'Alice' will be updated.
C. Both rows with name 'Alice' will have grade updated to 90.
D. All rows in the table will have grade set to 90.

Solution

  1. Step 1: Understand the WHERE clause effect

    WHERE name = 'Alice' matches all rows where name is exactly 'Alice'.
  2. Step 2: Apply UPDATE to matching rows

    Both rows with name 'Alice' (id 1 and 3) will have their grade set to 90.
  3. Final Answer:

    Both rows with name 'Alice' will have grade updated to 90. -> Option C
  4. Quick Check:

    UPDATE affects all rows matching WHERE condition [OK]
Hint: WHERE filters all matching rows, not just one [OK]
Common Mistakes:
  • Assuming only one row updates with non-unique WHERE
  • Thinking UPDATE without WHERE updates one row
  • Confusing UPDATE with SELECT
4. Identify the error in this SQL statement:
UPDATE orders SET status 'shipped' WHERE order_id = 101;
medium
A. Incorrect table name.
B. Missing equal sign (=) between column and value.
C. Using single quotes around column name.
D. Missing WHERE clause.

Solution

  1. Step 1: Check SET clause syntax

    SET clause must have column = value format. Here, equal sign is missing.
  2. Step 2: Verify other parts

    WHERE clause is present, table name looks correct, and no quotes around column name.
  3. Final Answer:

    Missing equal sign (=) between column and value. -> Option B
  4. Quick Check:

    SET requires column = value syntax [OK]
Hint: SET needs column = value, not just column value [OK]
Common Mistakes:
  • Omitting equal sign in SET
  • Forgetting WHERE causes all rows update
  • Using quotes incorrectly around column names
5. You have a table inventory with columns item_id, quantity, and price. You want to increase the price by 10% only for items with quantity less than 5. Which SQL statement correctly updates the price column?
hard
A. UPDATE inventory SET price = price + 10 WHERE quantity < 5;
B. UPDATE inventory SET price = price + 0.10 WHERE quantity < 5;
C. UPDATE inventory SET price = price * 0.10 WHERE quantity < 5;
D. UPDATE inventory SET price = price * 1.10 WHERE quantity < 5;

Solution

  1. Step 1: Understand the requirement

    Increase price by 10% means multiply price by 1.10.
  2. Step 2: Check the WHERE condition

    Only update rows where quantity is less than 5.
  3. Step 3: Evaluate each option

    UPDATE inventory SET price = price * 1.10 WHERE quantity < 5; correctly multiplies price by 1.10 with proper WHERE clause.
  4. Final Answer:

    UPDATE inventory SET price = price * 1.10 WHERE quantity < 5; -> Option D
  5. Quick Check:

    Multiply price by 1.10 to increase by 10% [OK]
Hint: Multiply price by 1.10 to increase by 10% [OK]
Common Mistakes:
  • Adding 10 instead of 10%
  • Multiplying by 0.10 reduces price
  • Adding 0.10 increases price by 0.10 units only
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