- 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 a variable to accumulate an episode's enemy names
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 can learn how to do this exercise if you attend one of more of the courses listed below!
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.
The aim of this exercise is to show a list of all of the Doctor's enemies for a given episode:
What you would see for episode 15.
To start this, create a variable in a new query to hold the episode number:
-- choose a specific episode
DECLARE @EpisodeId int = 15
Now create another variable to hold the accumulated list of episode names:
-- variable to hold the list of enemies
DECLARE @EnemyList varchar(100) = ''
Write a SELECT statement which accumulates the list of enemy names for the chosen episode in a variable. The basis of this will be a statement starting like this:
-- add in each enemy name
@EnemyList = @EnemyList + ...
When you've done this, complete your query to show your results:
-- show the results
@EpisodeId as 'Episode id',
@EnemyList AS 'Enemies'
Optionally, save this query as Know your enemies.sql, then close it down.