Exercise: Compile a table of all Dr Who contacts using a table variable

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.

The answer to the exercise will be included and explained if you attend the Wise Owl course listed below!

Category ==> SQL  (115 exercises)
Topic ==> Temporary tables and table variables  (10 exercises)
Level ==> Relatively easy
Course ==> Advanced SQL
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 put all of the Doctors, companions and enemies into a single table variable called @characters.  You should then be able to list out this table's rows:

-- show results

SELECT * FROM @characters

ORDER BY CharacterName DESC

This will give the following:

Start of list of characters

The first "few characters", in reverse alphabetical order. Lots of help is given below!


To start with, create a table containing the following three columns:

Column Type Contents
CharacterId int The id number of the doctor, companion or enemy
CharacterName varchar(100) The name of the doctor, companion or enemy
CharacterType varchar(100) Which of the 3 types of character this is

The syntax of how to create a table variable like this is as follows:

-- create a table variable

DECLARE @TableVariableName TABLE(

Column1 Datatype1,


ColumnN DatatypeN


Now insert the doctors into this table from the tblDoctor table.  The syntax for how to do this is as follows:

-- append rows into existing table

INSERT INTO @TableVariableName(











Repeat this twice more to insert the companions and enemies into the table, so that you can run the query shown at the start of this exercise to list out the 109 rows in the @characters table.

Optionally, save your query as Strange bedfellows 2.sql, then close it down.

This page has 0 threads Add post