- 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 | Views exercise | Create a series of views to get at interesting episode data
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!
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.
If you haven't already done so, run the script in the above folder to generate the Doctor Who database.
Create a series of views which will ultimately list out all of the episodes which had both multiple enemies and multiple companions.
There are many ways to do things like this in SQL, and the method in this exercise is a long way from being the most efficient!
To achieve this, create (in this order) the following views:
|View||What it must do|
|vwEpisodeCompanion||Llist all of the episodes which had only a single companion.|
|vwEpisodeEnemy||List all of the episodes which had only a single enemy.|
|vwEpisodeSummary||List all of the episodes which have no corresponding rows in either the vwEpisodeCompanion or vwEpisodeEnemy tables.|
When you select all of the rows selected by the vwEpisodeSummary view in title order, you should see the following:
The first few of the 14 episodes returned by this view.
This exercise should reinforce the fact that you can use tables and views interchangeably in script.
If you've created one script to do all of this (as the answer does), save this as Singular episodes and close it down.