- Simple Queries (4)
- Setting criteria using WHERE (5)
- Calculations (7)
- Calculations using dates (4)
- Basic joins (8)
- More exotic joins (2)
- Aggregation and grouping (8)
- Views (5)
- Subqueries (5)
- Stored procedures (5)
- Variables (8)
- Parameters and return values (11)
- Testing conditions (1)
- Looping (3)
- Scalar functions (6)
- Transactions (5)
- Creating tables (5)
- Temporary tables and table variables (9)
- Table-valued functions (6)
- Derived tables and CTEs (13)
- Dynamic SQL (4)
- Pivots (2)
- Triggers (2)
- Archived (70)
SQL | Variables exercise | Use variables to show details for a given episode number
This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.
You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.
First (if you haven't already done so) run the script shown above to generate the Doctor Who training database.
Start a query, creating a variable to hold the id number of the Doctor Who episode whose details you want to show:
-- the episode number of interest
DECLARE @EpisodeId int = 54
The aim of this exercise is to get to the point where you can run this command:
-- list out the details for this episode
@EpisodeName as Title,
@EpisodeId as 'Episode id',
@NumberCompanions as 'Number of companions',
@NumberEnemies as 'Number of enemies'
Here's what this should show for episode id 54, for example:
This episode featured 2 companions and 2 enemies.
First, create a variable called @EpisodeName and set this to hold the title of the episode with id number equal to the value of variable @EpisodeId. The syntax that you'll need is:
DECLARE @VariableName VariableType = (
-- some select statement which returns a single value
Now create two variables and set their values as follows:
|@NumberCompanions||The number of companions for this episode (ie the count of the number of rows in table tblEpisodeCompanion where the episode id equals the one contained in the variable @EpisodeId).|
|@NumberEnemies||The number of enemies for this episode (this time counting the number of rows for this episode in table tblEpisodeEnemy).|
Complete and run your query to check that it gives this output if you change the episode id to 42:
This episode had 1 companion and 2 enemies.
Optionally, save your query as Counting by numbers, then close it down.