What if you could let SQL do the math for you, step by step, without losing track?
Why Variables and SET statements in SQL? - Purpose & Use Cases
Imagine you are calculating monthly sales totals by hand using a calculator and paper. Every time you want to add a new sale, you have to remember the previous total and add the new amount manually.
This manual method is slow and easy to mess up. You might forget the last total, make addition mistakes, or lose track of intermediate results, causing frustration and errors.
Using variables and SET statements in SQL lets you store values temporarily and update them step-by-step inside your queries or scripts. This way, the computer keeps track of your calculations accurately and quickly.
Calculate total = 100 + 200 + 150 manually each time
DECLARE @total INT; SET @total = 0; SET @total = @total + 100; SET @total = @total + 200; SET @total = @total + 150;
It enables you to perform stepwise calculations and store temporary results inside your SQL scripts, making complex data processing easier and error-free.
When generating a report that sums sales per region, you can use variables to keep a running total as you process each row, instead of recalculating everything repeatedly.
Variables store temporary values during SQL execution.
SET statements assign or update these variable values.
This approach simplifies calculations and reduces errors.
Practice
DECLARE and SET statements?Solution
Step 1: Understand variable usage in SQL
Variables declared withDECLAREhold temporary values during query execution.Step 2: Identify the purpose of
SETSETassigns values to these variables for use later in the query.Final Answer:
To store temporary values that can be used later in the query -> Option AQuick Check:
Variables = Temporary storage [OK]
- Thinking variables save data permanently
- Confusing variables with table creation
- Assuming variables delete data
@count and set its value to 10 in SQL?Solution
Step 1: Review correct variable declaration syntax
In SQL,DECLARE @variable_name TYPE;declares a variable.Step 2: Assign value using SET
SET @variable_name = value;assigns the value.Final Answer:
DECLARE @count INT; SET @count = 10; -> Option AQuick Check:
DECLARE then SET = correct syntax [OK]
- Using SET before DECLARE
- Mixing declaration and assignment in wrong order
- Incorrect placement of data type
DECLARE @x INT;
SET @x = 5;
SET @x = @x + 3;
SELECT @x;
What will be the output of the
SELECT statement?Solution
Step 1: Initialize variable @x
@x is declared as integer and set to 5.Step 2: Update @x by adding 3
@x = 5 + 3 = 8.Final Answer:
8 -> Option BQuick Check:
5 + 3 = 8 [OK]
- Forgetting to update variable value
- Assuming variable resets after SET
- Confusing initial and updated values
DECLARE @total INT
SET total = 100;
SELECT @total;
Solution
Step 1: Check variable declaration
@total is declared correctly withDECLARE @total INT.Step 2: Check SET statement
SET statement usestotalwithout '@', which is incorrect; it should be@total.Final Answer:
Variable name missing '@' in SET statement -> Option CQuick Check:
Variable names need '@' prefix [OK]
- Omitting '@' in variable usage
- Forgetting semicolons (usually optional)
- Misreading SELECT syntax
Solution
Step 1: Declare all variables before use
Variables @item1, @item2, @item3, and @total must be declared first.Step 2: Assign values and calculate total
Assign each item price with SET, then sum them into @total.Step 3: Select the total value
Use SELECT to output the total price.Final Answer:
DECLARE @item1 INT; DECLARE @item2 INT; DECLARE @item3 INT; DECLARE @total INT; SET @item1 = 15; SET @item2 = 20; SET @item3 = 25; SET @total = @item1 + @item2 + @item3; SELECT @total; -> Option DQuick Check:
Declare then set all variables before calculation [OK]
- Assigning values without declaring variables
- Trying to declare and assign in one line incorrectly
- Missing variable declarations
Ready to prove it?
Pass the test and this pattern moves unknown
