Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Требования:
- Все отношения из БД
- Из одного отношения вывести все
- 5 различных предикатов к различным отношениям
- Двойная группировка по атрибутам различных отношений
- 5 предикатов для групп
- Сортировка
- Текст задания:
- Выбрать ОС с долей рынка между 1% и 40% или с синим или красным цветом курсора по умолчанию. Так же должна существовать поддержка многопользовательского режима, и должна быть заполненная информация о целевой аудитории каждой из ОС.
- Результат сгруппировать году выпуска, типу лицензии, названию лицензии, поддержке многозадачности и многопользовательского режима, наличию GUI, бесплатности и числу компьютеров на лицензию, где в каждой группе максимальный год выпуска 2017 или 2016, либо минимальная доля рынка не более 1%. Так же в каждой группе сумма компьютеров на лицензию должна быть в промежутке от 10 до 50 или среднее число поддерживаемых архитектур не менее 3-х. Или вместо всех выше приведенных условий минимальный год основания компании-разработчика не более 2000.
- Вывести все выше приведенные характеристики, тип ядра и все из Classification1. Результат отсортировать по убыванию типа ядра (по алфавиту).
- Запрос:
- SELECT OperatingSystems.Year, Stats1.Market_Share, Stats2.Default_Cursor_Color, Stats3.Target_Audience, Classification1.*, Classification2.Kernel_Type, Classification3.Year_Of_Company_Founding, Arch_Support.Number_Of_Suppoted_Archetictures FROM
- OperatingSystems
- INNER JOIN Stats1 ON OperatingSystems.Stats1FK=Stats1.Stats1ID
- INNER JOIN Stats2 ON OperatingSystems.Stats2FK=Stats2.Stats2ID
- INNER JOIN Stats3 ON OperatingSystems.Stats2FK=Stats3.Stats3ID
- INNER JOIN Classification1 ON OperatingSystems.Classification1_FK=Classification1.Classification1ID
- INNER JOIN Classification2 ON OperatingSystems.Classification2_FK=Classification2.Classification2ID
- INNER JOIN Classification3 ON OperatingSystems.Classification3_FK=Classification3.Classification3ID
- INNER JOIN Arch_Support ON OperatingSystems.Arch_Support_FK=Arch_Support.Arch_SupportID
- WHERE
- (
- Stats1.Market_Share BETWEEN 1 AND 40
- OR
- Stats2.Default_Cursor_Color IN ('Blue', 'Red')
- )
- AND
- Stats3.Target_Audience IS NOT NULL
- AND
- EXISTS
- (
- SELECT * FROM Classification1
- WHERE
- Classification1.Multiuser LIKE 'Yes'
- )
- GROUP BY OperatingSystems.Year, Classification1.License_Type, Classification1.License_Name, Classification1.Multitasking, Classification1.Multiuser, Classification1.GUIAvailability, Classification1.FreeOfCharge, Classification1.Number_Of_Computers_Per_License
- HAVING
- (
- MAX(OperatingSystems.Year) IN (2017, 2016)
- OR
- MIN(Stats1.Market_Share) <= 1
- )
- AND
- (
- SUM(Classification1.Number_Of_Computers_Per_License) BETWEEN 10 AND 50
- OR
- AVG(Arch_Support.Number_Of_Suppoted_Archetictures) >= 3
- )
- OR
- MIN(Classification3.Year_Of_Company_Founding) <= 2000
- ORDER BY Classification2.Kernel_Type DESC;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement