Вопрос задан 26.10.2023 в 02:18. Предмет Информатика. Спрашивает Кириенко Михаил.

SQL Вы открыли пиццерию. Создать таблицу с разными пиццами (id, название, описание, цена).

Создать таблицу с заказами (id, id_заказанной_пиццы, количество, время заказа (под время есть отдельный тип данных). Заполнить обе таблицы большим количеством данных (5+ пицц, 15+ заказов). Выполнить следующие запросы: 1. Получить все заказы с подробной информацией о заказанной пицце (select заказ join пицца). 2. Получить все заказы на пиццу ГАВАЙСКАЯ (или другая). 3. Узнать, сколько всего денег вы заработали на пицце ГАВАЙСКАЯ. 4. Получить статистику (ПИЦЦА - КОЛ-ВО ЗАКАЗОВ) (группировка)
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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для выполнения этих запросов, вам понадобятся SQL-запросы. Приведу примеры запросов на языке SQL с комментариями:

  1. Получить все заказы с подробной информацией о заказанной пицце:
sql
SELECT заказ.id, пицца.название, пицца.описание, заказ.количество, заказ.время_заказа FROM заказ JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id;
  1. Получить все заказы на пиццу ГАВАЙСКАЯ (или другая):
sql
SELECT заказ.id, пицца.название, заказ.количество, заказ.время_заказа FROM заказ JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id WHERE пицца.название = 'ГАВАЙСКАЯ';
  1. Узнать, сколько всего денег вы заработали на пицце ГАВАЙСКАЯ:
sql
SELECT SUM(пицца.цена * заказ.количество) AS выручка FROM заказ JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id WHERE пицца.название = 'ГАВАЙСКАЯ';
  1. Получить статистику (ПИЦЦА - КОЛ-ВО ЗАКАЗОВ) с группировкой:
sql
SELECT пицца.название, COUNT(заказ.id) AS количество_заказов FROM заказ JOIN пицца ON заказ.id_заказанной_пиццы = пицца.id GROUP BY пицца.название;

Эти запросы предполагают, что у вас есть таблицы "пицца" и "заказ", как описано, и что данные в них уже заполнены. Вы можете выполнить эти запросы в вашей системе управления базами данных, заменив "пицца" и "заказ" на реальные имена ваших таблиц, а также учтя специфику вашей базы данных и SQL-синтаксиса.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос