Задание №1
Даны таблицы. Получить список в виде: Адрес – Количество проживающих людей. Только адреса, по которым проживает больше 2-х человек.
ID_PERSON | PERSON_NAME | ID_ADDRESS |
1 | Иванов | 1 |
2 | Петров | 2 |
3 | Сидоров | 3 |
4 | Михайлова | 3 |
ID_ADDRESS | ADDRESS_STRING |
1 | Красная пл., 1 |
2 | Проспект Мира, 12а |
3 | Озерная ул., 3 |
Вариант запроса
SELECT b.address_string AS "Адрес", COUNT(a.id_person) AS "Количест. людей" FROM b JOIN a ON a.id_address = b.id_address GROUP BY b.address_string HAVING COUNT(a.id_person) > 2; /
Задание №2
Дана таблица A.
ID_PERSON | PERSON_NAME |
1 | Гранин |
2 | Петров |
3 | Алексеев |
4 | Михайлова |
Сколько записей вернет запрос:
SELECT * FROM a WHERE a.person_name LIKE '%ОВ'; /
Задание №3
Дана таблица A.
ID_PERSON | PERSON_NAME |
1 | Гранин |
2 | Петров |
3 | Алексеев |
4 | Михайлова |
Сколько записей вернет запрос:
SELECT MAX(a.id_person) AS max_id FROM a WHERE a.id_person > 10; /
Одну строку с пустым значением (NULL).
Задание №4
Даны таблицы A и B.
ID_PERSON | NAME | ID_DEPARTMENT |
1 | Иванов | 1 |
2 | Петров | 1 |
3 | Сидоров | 2 |
ID_DEPARTMENT | NAME |
1 | Отдел 1 |
2 | Отдел 2 |
3 | Отдел 3 |
Какие наборы данных вернут запросы:
SELECT a.name, d.name FROM a JOIN d ON d.id_department = a.id_department; /
Три строки
SELECT a.name, d.name FROM a LEFT JOIN d ON d.id_department = a.id_department; /
Три строки
SELECT a.name, d.name FROM a RIGHT JOIN d ON d.id_department = a.id_department; /
Четыре строки