Решение модуля 1.3 из курса «Интерактивный тренажер по SQL»

Разобрали ответы и решения урока 1.3(Запросы, групповые операции) под курс «Интерактивный тренажер по SQL».

Предыдущий разбор модуля 1.2 следующий разбор модуль 1.4

Отобрать различные (уникальные) элементы столбца amount таблицы book.

SELECT amount
FROM book
GROUP BY amount;


Посчитать, количество различных книг и количество экземпляров книг каждого автора , хранящихся на складе.  Столбцы назвать Автор, Различных_книг и Количество_экземпляров соответственно.

SELECT author AS «Автор»,
COUNT(*) AS «Различных_книг«,
SUM(amount) AS «Количество_экземпляров«
FROM book
GROUP BY author;

Пояснение: так как 1 строка это 1 книга то для подсчета книг можно использовать *(вся строка), а для количества экземпляров указываем конкретный столбец

Вывести фамилию автора, минимальную, максимальную и среднюю цену книг каждого автора . Вычисляемые столбцы назвать Минимальная_цена, Максимальная_цена и Средняя_цена соответственно.

SELECT author,
    MIN(price) AS "Минимальная_цена", 
    MAX(price) AS "Максимальная_цена",
    AVG(price) AS "Средняя_цена"
FROM book
GROUP BY author;

Для каждого автора вычислить суммарную стоимость книг S (имя столбца Стоимость), а также вычислить налог на добавленную стоимость  для полученных сумм (имя столбца НДС ) , который включен в стоимость и составляет k = 18%,  а также стоимость книг  (Стоимость_без_НДС) без него. Значения округлить до двух знаков после запятой. В запросе для расчета НДС(tax)  и Стоимости без НДС(S_without_tax) использовать следующие формулы:

SELECT author, 
    SUM(price*amount) AS Стоимость, 
    ROUND(SUM(price*amount)*0.18 / 1.18, 2) AS НДС,
    ROUND(SUM(price*amount) / 1.18,2) AS Стоимость_без_НДС
FROM book
GROUP BY author;

Вывести  цену самой дешевой книги, цену самой дорогой и среднюю цену книг на складе. Названия столбцов Минимальная_цена, Максимальная_цена, Средняя_цена соответственно. Среднюю цену округлить до двух знаков после запятой.

SELECT MIN(price) AS "Минимальная_цена", 
    MAX(price) AS "Максимальная_цена", 
    ROUND(AVG(price),2) AS 'Средняя_цена'
FROM book;

Вычислить среднюю цену и суммарную стоимость тех книг, количество экземпляров которых принадлежит интервалу от 5 до 14, включительно. Столбцы назвать Средняя_цена и Стоимость, значения округлить до 2-х знаков после запятой.

SELECT ROUND(AVG(price),2) AS Средняя_цена,
    ROUND(SUM(price * amount),2) AS Стоимость
FROM book
WHERE amount BETWEEN 5 AND 14;

Посчитать стоимость всех экземпляров каждого автора без учета книг «Идиот» и «Белая гвардия». В результат включить только тех авторов, у которых суммарная стоимость книг более 5000 руб. Вычисляемый столбец назвать Стоимость. Результат отсортировать по убыванию стоимости.

SELECT author, 
    SUM(price * amount) as Стоимость 
FROM book 
WHERE title <> 'Идиот' and title <> 'Белая гвардия' 
GROUP BY author 
HAVING SUM(price*amount) > 5000 
ORDER BY Стоимость DESC 

Придумайте один или несколько запросов к нашей таблице book, используя групповые функции. Проверьте, правильно ли они работают.

SELECT book_id AS Порядковыйномер, author AS Автор, ROUND(AVG(price)) AS Средняяцена
FROM book
GROUP BY book_id, author
HAVING Порядковый_номер > 2

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector