Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Тест

.pdf
Скачиваний:
0
Добавлен:
19.06.2023
Размер:
404.18 Кб
Скачать

Номер группы

9300

 

 

 

ФИО:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание

1

 

2

 

3

4

5

 

6

7

8

9

10

11

Сумма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

баллы

10

 

20

 

20

20

50

 

50

45

45

70

85

85

500

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получено

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.(10 баллов) Какое из следующих выражений выведет итоговую сумму столбца ”price”в

таблице ”sales”?

SELECT TOTALSUM(price) FROM sales

SELECT SUM(price) WHERE sales

X SELECT SUM(price) FROM sales

SELECT TOTAL(price) FROM sales

2.(20 баллов) Что будет результатом SQL запроса: SELECT column1 FROM table3 GROUP BY column2 WHERE column2<>NULL

Результатом будут непустые значения столбца column2

X SQL запрос вызовет ошибку

Результатом всегда будет пустое множество

3.(20 баллов) Могут ли в запросах SQL одновременно использоваться ”HAVING”и ”WHERE”?

X да

нет

4.(20 баллов) Какой порядок ключевых слов в команде select правильный?

SELECT … FROM … GROUP BY … WHERE …

SELECT … FROM … ORDER BY … WHERE …

SELECT … FROM … ORDER BY … GROUP BY …

X SELECT … FROM … WHERE … GROUP BY …

Дана таблица T2 с полями a, b, c:

a

b

c

3

6

1

5

2

1

5.(50 баллов) Какое значение вернёт SELECT SUM(a*b*c)-MAX(b)+COUNT(*) FROM T2

5.24

6.(50 баллов) Какое значение вернёт SELECT SUM(a)*SUM(b)*SUM(c)-MIN(a*b) FROM T2

6.118

В базе данных имеется таблица book со следующими столбцами:

id — уникальный числовой идентификатор издания, первичный ключ; title — название книги;

author — автор книги (принимаем допущение, что у каждой книги только один автор);

publisher — издательство, в котором вышла книга; pub_year — год издания книги.

7.(45 баллов) Необходимо выбрать авторов, чьи книги переиздавались в том же или в другом издательстве. Выберите правильный вариант запроса.

X SELECT author FROM book GROUP BY author HAVING count(id)>1;

SELECT author FROM book GROUP BY author, title HAVING count(id)>1;

SELECT author FROM book GROUP BY publisher HAVING сount(author)>1;

SELECT author FROM book WHERE count(id)>1;

8.(45 баллов) Напишите запрос, возвращающий авторов, у которых с 2000 по 2012 год вышло более 5 книг

select author from book

where pub_year >= 2000 and pub_year <= 2012 group by author having count(*) > 5

9.(70 баллов) Напишите запрос, возвращающий издательство, которое выпустило в 2012 году наибольшее количество книг

select max(count) from (

select publisher, count(*) as count from book where pub_year = 2012 group by publisher

) as tmp

В базе данных имеется таблица client со следующими столбцами:

id_client — уникальный числовой идентификатор абонента, первичный ключ; fullname — ФИО абонента;

rate — тариф (руб. за мин.);

id_client

fullname

rate

1

Петров А.А.

1.1

2

Волков П.А.

1.05

3

Зайцев В.В.

1.3

4

Краснова Н.В.

1.1

5

Шульц Ш.

1.4

и таблица client_call со следующими столбцами:

id_client — ссылка на уникальный идентификатор абонента, внешний ключ; call_time — дата и время звонка;

duration — длительность звонка (мин.);

id_client

call_time

duration

1

2012.12.05 10:30:52

3

2

2012.12.05 12:10:02

5

2

2012.12.05 12:16:12

1

4

2012.12.05 13:19:22

2

5

2012.12.05 16:10:42

4

10.(85 баллов) Напишите запрос, возвращающий для каждого абонента стоимость всех его разговоров.

select client.id_client, fullname, coalesce(sum(rate * duration), 0) as cost from client left join call on call.id_client = client.id_client

group by client.id_client

11.(85 баллов) Напишите запрос, возвращающий список ФИО абонентов, совершивших только один звонок.

select fullname

from client join call on call.id_client = client.id_client group by fullname having count(*) = 1

Соседние файлы в предмете Технологии баз данных