Перечислите номера моделей любых типов, имеющих самую высокую цену - MySQL

Формулировка задачи:

Перечислите номера моделей любых типов, имеющих самую высокую цену по всей имеющейся в базе данных продукции Схема БД состоит из четырех таблиц: Product(maker, model, type) PC(code, model, speed, ram, hd, cd, price) Laptop(code, model, speed, ram, hd, price, screen) Printer(code, model, color, type, price) Таблица Product представляет производителя (maker), номер модели (model) и тип ('PC' - ПК, 'Laptop' - ПК-блокнот или 'Printer' - принтер). Предполагается, что номера моделей в таблице Product уникальны для всех производителей и типов продуктов. В таблице PC для каждого ПК, однозначно определяемого уникальным кодом – code, указаны модель – model (внешний ключ к таблице Product), скорость - speed (процессора в мегагерцах), объем памяти - ram (в мегабайтах), размер диска - hd (в гигабайтах), скорость считывающего устройства - cd (например, '4x') и цена - price. Таблица Laptop аналогична таблице РС за исключением того, что вместо скорости CD содержит размер экрана -screen (в дюймах). В таблице Printer для каждой модели принтера указывается, является ли он цветным - color ('y', если цветной), тип принтера - type (лазерный – 'Laser', струйный – 'Jet' или матричный – 'Matrix') и цена - price.

Код к задаче: «Перечислите номера моделей любых типов, имеющих самую высокую цену - MySQL»

textual
WITH max_price_all_type AS
(SELECT model, price FROM pc WHERE price = (SELECT MAX(price) FROM pc)
UNION
SELECT model, price FROM laptop WHERE price = (SELECT MAX(price) FROM laptop)
UNION
SELECT model, price FROM printer WHERE price = (SELECT MAX(price) FROM printer))
SELECT model FROM max_price_all_type WHERE price = (SELECT MAX(price) FROM max_price_all_type)

10   голосов, оценка 4.100 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы