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 | Joining a table variable to the events table
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 ==> | Average difficulty |
Courses ==> | Fast-track SQL / Advanced SQL |
- Go into SQL Server Management Studio;
- Open the SQL file you've just unzipped (you can press CTRL + O to do this); then
- Execute this script.
This will generate the database that you'll need to use in order to do this exercise (note that the database and script are only to be used for exercises published on this website, and may not be reused or distributed in any form without the prior written permission 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.
The aim of this exercise is to create a table variable to store a list of "odd" countries, then join this to the events table to see events that occurred in those odd countries.
For the purposes of this exercise, an "odd" country is one whose country id is an odd number!
Start by selecting the odd countries.

The easiest way to find the odd countries is to use the modulus operator on the CountryID. In the WHERE clause divide it by 2, but using % instead of /. If the result isn't 0, then it must be odd!
This returns 22 countries. Create a table variable called @OddCountries to hold 2 columns - OddName and OddNumber - and insert these countries into this table in your SQL:

Here the results have been re-ordered as it felt odd-ly satisfying. Not punny?
Join this table to the tblEvent table. Add two criteria to the WHERE clause:
Criteria | Details |
---|---|
Remove self-references | Don't show events whose names contain the country they occurred in. |
Co-terminosity | Only show events where the event name and the OddName end in the same letter. |
You should see 14 results, some of which are shown below:

Use the RIGHT function to match the last letters.
Optionally save this as Odd requests.sql, then close it down.
As far as I'm concerned, these word-plays are VARyCHARming and I consider them a pundamental part of your site.
I wouldn't have it any odder way.