Murhamysteeri - Juha02/Tietokannat GitHub Wiki
Rikostapahtuma
Murhamysteeri löytyy osoitteesta: https://mystery.knightlab.com/
Security footage shows that there were 2 witnesses. The first witness lives at the last house on "Northwestern Dr". The second witness, named Annabel, lives somewhere on "Franklin Ave"
1.Silminnäkijä
viimeinen talo Northwestern Dr:lla on 4919
Kysely:
SELECT MAX(address_number)
FROM person
WHERE address_street_name = 'Northwestern Dr';
Siellä asuu:
id | name | license_id | address_number | address_street_name | ssn |
---|---|---|---|---|---|
14887 | Morty Schapiro | 118009 | 4919 | Northwestern Dr | 111564949 |
Kysely:
SELECT *
FROM person
WHERE address_street_name = 'Northwestern DR' AND address_number = 4919;
Mortyn kuulustelupöytäkirja:
person_id | transcript 14887 |
---|
I heard a gunshot and then saw a man run out. He had a "Get Fit Now Gym" bag. The membership number on the bag started with "48Z". Only gold members have those bags. The man got into a car with a plate that included "H42W".
Kysely:
SELECT *
FROM interview
WHERE person_id = 14887;
2. Silminnäkijä
id | name | license_id | address_number | address_street_name | ssn |
---|---|---|---|---|---|
16371 | Annabel Miller | 490173 | 103 | Franklin Ave | 318771143 |
Kysely:
SELECT *
FROM person
WHERE address_street_name = 'Franklin Ave' AND name LIKE 'Annabel%';
Annabelin kuulustelupöytäkirja:
person_id | transcript 16371 |
---|
I saw the murder happen, and I recognized the killer from my gym when I was working out last week on January the 9th.
Kysely:
SELECT *
FROM interview
WHERE person_id = 16371;
Gold membership selvitys:
SELECT *
FROM get_fit_now_member
WHERE membership_status = 'gold' AND id LIKE '48Z%';
Tulos:
id | person_id | name | membership_start_date | membership_status |
---|---|---|---|---|
48Z7A | 28819 | Joe Germuska | 20160305 | gold |
48Z55 | 67318 | Jeremy Bowers | 20160101 | gold |
Kumman auto oli kyseessä:
SELECT drivers_license.id AS license, person.id AS person
FROM drivers_license INNER JOIN person ON drivers_license.id = person.license_id
WHERE plate_number LIKE '%H42W%' AND Gender = 'male' AND person.id IN (28819, 67318);
Tulos:
67318 Jeremy Bowers
Murhan tilaajan selvittäminen
Haetaan Jeremy Bowersin kuulustelupöytäkirja:
I was hired by a woman with a lot of money. I don't know her name but I know she's around 5'5" (65") or 5'7" (67"). She has red hair and she drives a Tesla Model S. I know that she attended the SQL Symphony Concert 3 times in December 2017.
SELECT *
FROM interview
WHERE person_id = 67318;
Selvitetään ajokorttitiedoista kuvaukseen sopivat henkilöt.
SELECT *
FROM drivers_license
WHERE gender = 'female' and hair_color = 'red' AND car_make = 'Tesla'
AND car_model = 'Model S' AND height BETWEEN 65 AND 67;
Selvitetään konserttitiedot facebook-taulun avulla.
SELECT person_id
FROM facebook_event_checkin
WHERE event_name = 'SQL Symphony Concert' AND date BETWEEN 20171201 AND 20171231
GROUP BY person_id
HAVING COUNT(person_id) = 3;
Kun molemmista kyselyistä tehdään joukko-opillinen leikkaus (intersection) edellisten tulosjoukkojen välillä
SELECT name
FROM person
WHERE id IN (SELECT person_id
FROM facebook_event_checkin
WHERE event_name = 'SQL Symphony Concert' AND date BETWEEN 20171201 AND 20171231
GROUP BY person_id
HAVING COUNT(person_id) = 3
INTERSECT
SELECT person.id
FROM drivers_license INNER JOIN person ON drivers_license.id = person.license_id
WHERE gender = 'female' and hair_color = 'red' AND car_make = 'Tesla'
AND car_model = 'Model S' AND height BETWEEN 65 AND 67);
Tulos on: Miranda Priestly