 
SQL Вы открыли пиццерию. Создать таблицу с разными пиццами (id, название, описание, цена).
Создать таблицу с заказами (id, id_заказанной_пиццы, количество, время заказа (под время есть отдельный тип данных). Заполнить обе таблицы большим количеством данных (5+ пицц, 15+ заказов). Выполнить следующие запросы: 1. Получить все заказы с подробной информацией о заказанной пицце (select заказ join пицца). 2. Получить все заказы на пиццу ГАВАЙСКАЯ (или другая). 3. Узнать, сколько всего денег вы заработали на пицце ГАВАЙСКАЯ. 4. Получить статистику (ПИЦЦА - КОЛ-ВО ЗАКАЗОВ) (группировка) 0
        0
         0
        0
    Ответы на вопрос
 
        Тип БД був не вказаний, тому робила для SQLite, ще й сама зрозуміла як з нею працювати
ATTACH DATABASE 'D:\Dev\Pizzeria.sqlite3' AS Pizzeria;
-- створення таблиць
drop TABLE IF EXISTS Піца;
drop TABLE IF EXISTS Замовлення;
CREATE TABLE Піца (
id INTEGER PRIMARY KEY AUTOINCREMENT,
назва TEXT UNIQUE NOT NULL,
опис TEXT,
ціна REAL NOT NULL
);
CREATE TABLE Замовлення (
id INTEGER PRIMARY KEY AUTOINCREMENT,
id_замовленої_піци INTEGER NOT NULL,
кількість INTEGER NOT NULL,
час_замовлення text NOT NULL,
FOREIGN KEY (id_замовленої_піци) REFERENCES Піца (id)
);
-- заповнення тестовими даними
INSERT INTO Піца (назва, опис, ціна) VALUES
('Маргарита', 'Класична піца з соусом та сиром', 10.99),
('Гавайська', 'Піца з ананасами та шинкою', 12.99),
('Пепероні', 'Піца з гострою пепероні', 11.99),
('Вегетаріанська', 'Піца з овочами', 9.99),
('Чотири сири', 'Піца з чотирма видами сиру', 13.99);
INSERT INTO Замовлення (id_замовленої_піци, кількість, час_замовлення ) VALUES
(1, 2, datetime('now', '-25 hours')),
(3, 1, datetime('now', '-24 hours')),
(2, 3, datetime('now', '-23 hours')),
(4, 2, datetime('now', '-22 hours')),
(5, 1, datetime('now', '-21 hours')),
(1, 1, datetime('now', '-20 hours')),
(3, 2, datetime('now', '-18 hours')),
(2, 1, datetime('now', '-17 hours')),
(4, 3, datetime('now', '-16 hours')),
(5, 2, datetime('now', '-15 hours')),
(1, 3, datetime('now', '-14 hours')),
(3, 1, datetime('now', '-13 hours')),
(2, 2, datetime('now', '-12 hours')),
(4, 1, datetime('now', '-11 hours')),
(5, 3, datetime('now', '-10 hours'));
-- Запити
--Отримати всі замовлення з детальною інформацією про замовлену піцу:
SELECT Замовлення.id, Піца.назва, Піца.опис, Піца.ціна, Замовлення.кількість, Замовлення.час_замовлення
FROM Замовлення
INNER JOIN Піца ON Замовлення.id_замовленої_піци = Піца.id;
--Отримати всі замовлення на піцу "ГАВАЙСЬКА" (або будь-яку іншу піцу за назвою):
SELECT Замовлення.id, Піца.назва, Замовлення.кількість, Замовлення.час_замовлення
FROM Замовлення
INNER JOIN Піца ON Замовлення.id_замовленої_піци = Піца.id
WHERE Піца.назва = 'Гавайська';
--Дізнатися, скільки всього грошей ви заробили на піці "ГАВАЙСЬКА":
SELECT SUM(Піца.ціна * Замовлення.кількість) AS "Загальний дохід"
FROM Замовлення
INNER JOIN Піца ON Замовлення.id_замовленої_піци = Піца.id
WHERE Піца.назва = 'Гавайська';
--Отримати статистику (кількість замовлень) для кожної піци:
SELECT Піца.назва, COUNT(Замовлення.id) AS "кількість Замовлень"
FROM Піца
LEFT JOIN Замовлення ON Піца.id = Замовлення.id_замовленої_піци
GROUP BY Піца.назва;
 0
                    0
                     0
                    0
                 
            Для выполнения этих запросов, вам понадобятся SQL-запросы. Приведу примеры запросов на языке SQL с комментариями:
- Получить все заказы с подробной информацией о заказанной пицце:
sqlSELECT заказ.id, пицца.название, пицца.описание, заказ.количество, заказ.время_заказа
FROM заказ
JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id;
- Получить все заказы на пиццу ГАВАЙСКАЯ (или другая):
sqlSELECT заказ.id, пицца.название, заказ.количество, заказ.время_заказа
FROM заказ
JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id
WHERE пицца.название = 'ГАВАЙСКАЯ';
- Узнать, сколько всего денег вы заработали на пицце ГАВАЙСКАЯ:
sqlSELECT SUM(пицца.цена * заказ.количество) AS выручка
FROM заказ
JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id
WHERE пицца.название = 'ГАВАЙСКАЯ';
- Получить статистику (ПИЦЦА - КОЛ-ВО ЗАКАЗОВ) с группировкой:
sqlSELECT пицца.название, COUNT(заказ.id) AS количество_заказов
FROM заказ
JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id
GROUP BY пицца.название;
Эти запросы предполагают, что у вас есть таблицы "пицца" и "заказ", как описано, и что данные в них уже заполнены. Вы можете выполнить эти запросы в вашей системе управления базами данных, заменив "пицца" и "заказ" на реальные имена ваших таблиц, а также учтя специфику вашей базы данных и SQL-синтаксиса.
 0
                    0
                     0
                    0
                Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			