EXERCISE TOPIC▼
SQL EXERCISES▼
SQL EXERCISES▼
- 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 | Temporary tables and table variables 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.
You can learn how to do this exercise if you attend one of more of the courses listed below!
Software ==> | SQL (198 exercises) |
Version ==> | Any version of SQL Server |
Topic ==> | Temporary tables and table variables (9 exercises) |
Level ==> | Relatively easy |
Courses ==> | Fast-track SQL / Advanced SQL |
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:

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(
Column1,
...,
ColumnN
)
SELECT
ColumnOrValue1,
...,
ColumnOrValueN
FROM
TableName
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.