SQL | Setting criteria using WHERE exercise | Find anomalies in the table of events by combining criteria

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.

Software ==> SQL  (198 exercises)
Version ==> Any version of SQL Server
Topic ==> Setting criteria using WHERE  (5 exercises)
Level ==> Harder than average
Subject ==> SQL training
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). Once you've done this:
  1. Go into SQL Server Management Studio;
  2. Open the SQL file you've just unzipped (you can press CTRL + O to do this); then
  3. 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 as many of the following queries as your mean trainer gives you time for:

Query to show Returns
Events which aren't in the Transport category (number 14), but which nevertheless include the text Train in the EventDetails column. 4 rows
Events which are in the Space country (number 13), but which don't mention Space in either the event name or the event details columns. 6 rows
Events which are in categories 5 or 6 (War/conflict and Death/disaster), but which don't mention either War or Death in the EventDetails column. 91 rows

Save this query listing possible anomalies as Primeval, then close it down.

You can unzip this file to see the answers to this exercise, although please remember this is for your personal use only.
This page has 7 threads Add post
23 Oct 20 at 11:02

-- query 1
select EventName
from dbo.tblEvent
where CategoryID <> 14
and EventDetails like '%train%'
--query 2
select EventName
from dbo.tblEvent
where CountryID = 13
EventName not like'%space%'
EventDetails not like '%space%'
--query 3
select EventName
from dbo.tblEvent
where CategoryID in(5,6)
and EventDetails not like '%war%'
and EventDetails not like '%death%'

04 Feb 20 at 05:40

Returning 4 Rows

FROM [dbo].[tblEvent]
WHERE EventDetails LIKE '%Train%'
AND CategoryID NOT LIKE '14';

04 Feb 20 at 05:20

6 Rows Return 

FROM [dbo].[tblEvent]
WHERE CountryID = 13
AND EventDetails NOT LIKE '%Space%'
AND EventName NOT LIKE '%Space%';

16 Aug 19 at 14:08

(4 rows affected)

(6 rows affected)

(99 rows affected)

SELECT * FROM tblEvent
      WHERE CategoryID IN (5,6)
      EventDetails NOT LIKE '%War%'
      EventDetails not like '%dEATH&';

Why 99 and not 91? It was the database changed?


19 Aug 19 at 08:12

Have a look at your DEATHly punctuation!

26 Jul 18 at 09:08


 I tried to solve exercise B with the WAR and the DEATH but haven't succeeded207 yet.  Can someone can help me and write the correct answer?

This is what I wrote:

select *
from tblEvent
where CategoryID = 5 or CategoryID = 6 and (EventDetails not like ('%war%death%')



06 Sep 18 at 22:47

Does your query deals with,  "if the word death comes first and then war".

17 Oct 18 at 18:18

Here is my solution:

    [CategoryID] IN (5, 6) AND
    [EventDetails] NOT LIKE '%Death%' AND
    [EventDetails] NOT LIKE '%WAR%' 

91 records 

27 Mar 18 at 12:51

Where can i find the solutions of these exercises? 

Select solutions 
from wiseowlswebsite
where exercise = 'sql'

27 Mar 18 at 15:00

Currently the only way is to attend one of our courses, but we are intending to publish answers too in the next month or two.

05 Nov 17 at 07:51

1st query should not return 4 rows but 1

select * from tblEvent
where EventDetails like '% train %' and CategoryID != 14

i guess your query is:

EventDetails like '%train%'          

which is incorrect as it will return words such as training...etc

09 May 18 at 19:53

Try this 

FROM [dbo].[tblEvent][dbo]
WHERE CategoryID!=14 AND EventDetails like '%train%'