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.

Software ==> SQL  (198 exercises)
Version ==> Any version of SQL Server
Topic ==> Variables  (8 exercises)
Level ==> Average difficulty
Subject ==> SQL training
Before you can do this exercise, you'll need to download and unzip this file (if you have any problems doing this, click here for help).

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:

List of companions

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.

You can unzip this file to see the answers to this exercise, although please remember this is for your personal use only.
This page has 0 threads Add post