Skip to content

Commit a495691

Browse files
committed
add: 2.3 solutions
1 parent 3dda98d commit a495691

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/* Вывести название, жанр и цену тех книг,
2+
количество которых больше 8,
3+
в отсортированном по убыванию цены виде.
4+
+-----------------------+------------+--------+
5+
| title | name_genre | price |
6+
+-----------------------+------------+--------+
7+
| Стихотворения и поэмы | Поэзия | 650.00 |
8+
| Игрок | Роман | 480.50 |
9+
| Идиот | Роман | 460.00 |
10+
+-----------------------+------------+--------+ */
11+
SELECT b.title, g.name_genre, b.price
12+
FROM genre g
13+
JOIN book b ON g.genre_id = b.genre_id
14+
WHERE b.amount > 8
15+
ORDER BY b.price DESC;
16+
17+
/* Вывести все жанры, которые не представлены в книгах на складе. */
18+
-- 1 variant
19+
SELECT g.name_genre
20+
FROM genre g
21+
LEFT JOIN book b ON g.genre_id = b.genre_id
22+
WHERE b.genre_id IS NULL;
23+
24+
-- 2 variant
25+
SELECT name_genre
26+
FROM book
27+
RIGHT JOIN genre ON book.genre_id = genre.genre_id
28+
WHERE isNull(book.genre_id);
29+
30+
/* Необходимо в каждом городе провести выставку книг каждого автора в течение 2020 года. Дату проведения выставки выбрать случайным образом.
31+
Создать запрос, который выведет город, автора и дату проведения выставки. Последний столбец назвать Дата.
32+
Информацию вывести, отсортировав сначала в алфавитном порядке по названиям городов, а потом по убыванию дат проведения выставок. */
33+
SELECT c.name_city, a.name_author, DATE_ADD('2020-01-01', INTERVAL FLOOR(RAND()*365) DAY) AS Дата
34+
FROM city c, author a
35+
ORDER BY name_city, Дата DESC;
36+
37+
/* Вывести информацию о книгах (жанр, книга, автор), относящихся к жанру, включающему слово «роман» в отсортированном по названиям книг виде. */
38+
SELECT g.name_genre, b.title, a.name_author
39+
FROM book b
40+
JOIN author a USING(author_id)
41+
JOIN genre g USING(genre_id)
42+
WHERE g.name_genre = 'Роман'
43+
ORDER BY b.title;
44+
/*
45+
SELECT g.name_genre, b.title, a.name_author
46+
FROM book b
47+
JOIN author a ON b.author_id = a.author_id
48+
JOIN genre g ON b.genre_id = g.genre_id
49+
WHERE g.name_genre = 'Роман'
50+
ORDER BY b.title;
51+
*/
52+
53+
/* Посчитать количество экземпляров книг каждого автора из таблицы author.
54+
Вывести тех авторов, количество книг которых меньше 10,
55+
в отсортированном по возрастанию количества виде. Последний столбец назвать Количество.*/

0 commit comments

Comments
 (0)