Advertisement
Guest User

Untitled

a guest
Jun 13th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.71 KB | None | 0 0
  1. Требования:
  2. Все отношения из БД
  3. Из одного отношения вывести все
  4. 5 различных предикатов к различным отношениям
  5. Двойная группировка по атрибутам различных отношений
  6. 5 предикатов для групп
  7. Сортировка
  8.  
  9. Текст задания:
  10. Выбрать ОС с долей рынка между 1% и 40% или с синим или красным цветом курсора по умолчанию. Так же должна существовать поддержка многопользовательского режима, и должна быть заполненная информация о целевой аудитории каждой из ОС.
  11. Результат сгруппировать году выпуска, типу лицензии, названию лицензии, поддержке многозадачности и многопользовательского режима, наличию GUI, бесплатности и числу компьютеров на лицензию, где в каждой группе максимальный год выпуска 2017 или 2016, либо минимальная доля рынка не более 1%. Так же в каждой группе сумма компьютеров на лицензию должна быть в промежутке от 10 до 50 или среднее число поддерживаемых архитектур не менее 3-х. Или вместо всех выше приведенных условий минимальный год основания компании-разработчика не более 2000.
  12. Вывести все выше приведенные характеристики, тип ядра и все из Classification1. Результат отсортировать по убыванию типа ядра (по алфавиту).
  13.  
  14. Запрос:
  15. 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
  16.  
  17. OperatingSystems
  18. INNER JOIN Stats1 ON OperatingSystems.Stats1FK=Stats1.Stats1ID
  19. INNER JOIN Stats2 ON OperatingSystems.Stats2FK=Stats2.Stats2ID
  20. INNER JOIN Stats3 ON OperatingSystems.Stats2FK=Stats3.Stats3ID
  21. INNER JOIN Classification1 ON OperatingSystems.Classification1_FK=Classification1.Classification1ID
  22. INNER JOIN Classification2 ON OperatingSystems.Classification2_FK=Classification2.Classification2ID
  23. INNER JOIN Classification3 ON OperatingSystems.Classification3_FK=Classification3.Classification3ID
  24. INNER JOIN Arch_Support ON OperatingSystems.Arch_Support_FK=Arch_Support.Arch_SupportID
  25.  
  26. WHERE
  27. (
  28.     Stats1.Market_Share BETWEEN 1 AND 40
  29.     OR
  30.     Stats2.Default_Cursor_Color IN ('Blue', 'Red')
  31. )
  32. AND
  33. Stats3.Target_Audience IS NOT NULL
  34. AND
  35. EXISTS
  36. (
  37.     SELECT * FROM Classification1
  38.    
  39.     WHERE
  40.    
  41.     Classification1.Multiuser LIKE 'Yes'
  42. )
  43.  
  44. GROUP BY OperatingSystems.Year, Classification1.License_Type, Classification1.License_Name, Classification1.Multitasking, Classification1.Multiuser, Classification1.GUIAvailability, Classification1.FreeOfCharge, Classification1.Number_Of_Computers_Per_License
  45. HAVING
  46.  
  47. (
  48.     MAX(OperatingSystems.Year) IN (2017, 2016)
  49.     OR
  50.     MIN(Stats1.Market_Share) <= 1
  51. )
  52. AND
  53. (
  54.     SUM(Classification1.Number_Of_Computers_Per_License) BETWEEN 10 AND 50
  55.     OR
  56.     AVG(Arch_Support.Number_Of_Suppoted_Archetictures) >= 3
  57. )
  58. OR
  59. MIN(Classification3.Year_Of_Company_Founding) <= 2000
  60.  
  61. ORDER BY Classification2.Kernel_Type DESC;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement