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 | Calculations exercise | Use a CASE statement to divide countries into groups
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 ==> | Calculations (7 exercises) |
Level ==> | Average difficulty |
Courses ==> | Introduction to SQL / Fast-track 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.
Write a query to divide countries into these groups:
Continent id | Belongs to | Actual continent (for interest) |
---|---|---|
1 or 3 | Eurasia | Europe or Asia |
5 or 6 | Americas | North and South America |
2 or 4 | Somewhere hot | Africa and Australasia |
7 | Somewhere cold | Antarctica |
Otherwise | Somewhere else | International |
Your query (based only on the tblCountry table) should show the following results:

The first few countries, sorted in reverse alphabetical order by your new column.
Save this query as Continental Drift, then close it down.
Does anyone have the script for Continental Drift?
-- This should work---
SELECT [CountryName]
,CASE
WHEN [ContinentID] in ('1','3') then 'Eurasia'
When [ContinentID] in ('5','6') then 'Americas'
When [ContinentID] in ('2','4') then 'Somewhere hot'
When [ContinentID] = 7 then 'Somewhere cold'
ELSE 'Somewhere else' END as 'CountryLocation'
FROM [WorldEvents].[dbo].[tblCountry]
order by CountryLocation desc