osa 3.
1.
SELECT etunimi, sukunimi
FROM kirjailija;
+---------+----------+
| etunimi | sukunimi |
+---------+----------+
| Pelle   | Peloton  | 
| Matami  | Mimmi    | 
| Mikki   | Hiiri    | 
+---------+----------+
3 rows in set (0.00 sec)

2. a)
SELECT etunimi, sukunimi, teos_nimi
FROM kirjailija LEFT JOIN kirja
ON kirjailija.id = kirja.kirjailija_id
WHERE kustantaja_id = 1;
+---------+----------+-----------+
| etunimi | sukunimi | teos_nimi |
+---------+----------+-----------+
| Matami  | Mimmi    | Keksintö | 
| Pelle   | Peloton  | ABC       | 
| Mikki   | Hiiri    | Ajojahti  | 
| Mikki   | Hiiri    | Takaa-ajo | 
+---------+----------+-----------+
4 rows in set (0.01 sec)
b)
SELECT etunimi, sukunimi, teos_nimi
FROM kustantaja, kirjailija, kirja
WHERE kirjailija.id = kirja.kirjailija_id AND kustantaja.id = kirja.kustantaja_id AND nimi = 'Ankka Sanoma'
GROUP BY etunimi, sukunimi, teos_nimi;
+---------+----------+-----------+
| etunimi | sukunimi | teos_nimi |
+---------+----------+-----------+
| Matami  | Mimmi    | Keksintö | 
| Mikki   | Hiiri    | Ajojahti  | 
| Mikki   | Hiiri    | Takaa-ajo | 
| Pelle   | Peloton  | ABC       | 
+---------+----------+-----------+
4 rows in set (0.00 sec)

3.
SELECT etunimi, sukunimi, teos_nimi
FROM kirjailija, kirja
WHERE kirjailija.id = kirja.kirjailija_id
HAVING sukunimi = 'Mimmi';
+---------+----------+-----------+
| etunimi | sukunimi | teos_nimi |
+---------+----------+-----------+
| Matami  | Mimmi    | Keksintö | 
| Matami  | Mimmi    | Taikuus   | 
| Matami  | Mimmi    | Hokkus    | 
+---------+----------+-----------+
3 rows in set (0.01 sec)

4.
SELECT nimi
FROM kustantaja
WHERE pnro = 12345;

+--------------+
| nimi         |
+--------------+
| Ankka Sanoma | 
+--------------+
1 row in set (0.00 sec)

5. a)
SELECT etunimi, sukunimi, teos_nimi
FROM kirjailija LEFT JOIN kirja
ON kirjailija.id = kirja.kirjailija_id
WHERE tyyli_id = 2 OR tyyli_id = 3;

+---------+----------+-----------+
| etunimi | sukunimi | teos_nimi |
+---------+----------+-----------+
| Matami  | Mimmi    | Taikuus   | 
| Matami  | Mimmi    | Hokkus    | 
| Mikki   | Hiiri    | Ajojahti  | 
| Mikki   | Hiiri    | Takaa-ajo | 
+---------+----------+-----------+
4 rows in set (0.00 sec)
b)
SELECT etunimi, sukunimi, teos_nimi
FROM kirjailija, kirja, tyyli
WHERE kirjailija.id = kirja.kirjailija_id AND tyyli.id = kirja.tyyli_id AND tyyli IN ('jännäri', 'mystiikka')
GROUP BY etunimi, sukunimi, teos_nimi;
+---------+----------+-----------+
| etunimi | sukunimi | teos_nimi |
+---------+----------+-----------+
| Matami  | Mimmi    | Hokkus    | 
| Matami  | Mimmi    | Taikuus   | 
| Mikki   | Hiiri    | Ajojahti  | 
| Mikki   | Hiiri    | Takaa-ajo | 
+---------+----------+-----------+
4 rows in set (0.00 sec)

6.
SELECT COUNT(teos_nimi) AS lkm
FROM kirja;

+-----+
| lkm |
+-----+
|   6 | 
+-----+
1 row in set (0.00 sec)

7. a)
SELECT COUNT(teos_nimi) AS lkm
FROM kirja LEFT JOIN kirjailija
ON kirjailija.id = kirja.kirjailija_id
WHERE kirjailija_id = 3;
+-----+
| lkm |
+-----+
|   2 | 
+-----+
1 row in set (0.00 sec)
b)
SELECT COUNT(teos_nimi) AS lkm
FROM kirja, kirjailija
WHERE kirjailija.id = kirja.kirjailija_id AND sukunimi = 'Hiiri';
+-----+
| lkm |
+-----+
|   2 | 
+-----+
1 row in set (0.00 sec)

8.
SELECT COUNT(ostopvm) AS lkm
FROM kirja
WHERE ostopvm BETWEEN '2005-01-01' AND '2005-12-31';
+-----+
| lkm |
+-----+
|   2 | 
+-----+
1 row in set (0.01 sec)

9.
SELECT SUM(hinta) AS yhteensa
FROM kirja
WHERE ostopvm BETWEEN '2006-01-01' AND '2006-12-31';

+----------+
| yhteensa |
+----------+
|    63.70 | 
+----------+
1 row in set (0.00 sec)

10.
SELECT etunimi, sukunimi, COUNT(teos_nimi) AS lkm
FROM kirjailija, kirja
WHERE kirjailija.id = kirja.kirjailija_id
GROUP BY etunimi, sukunimi
ORDER BY lkm DESC;

+---------+----------+-----+
| etunimi | sukunimi | lkm |
+---------+----------+-----+
| Matami  | Mimmi    |   3 | 
| Mikki   | Hiiri    |   2 | 
| Pelle   | Peloton  |   1 | 
+---------+----------+-----+
3 rows in set (0.01 sec)

11.
SELECT teos_nimi
FROM kirja
WHERE ostopvm BETWEEN '2005-04-11' AND '2005-12-26';

+-----------+
| teos_nimi |
+-----------+
| ABC       | 
| Takaa-ajo | 
+-----------+
2 rows in set (0.00 sec)

12.
SELECT teos_nimi
FROM kirja
WHERE ostopvm <= '2005-11-30';

+-----------+
| teos_nimi |
+-----------+
| Takaa-ajo | 
+-----------+
1 row in set (0.00 sec)