Advertisement
S_Madanska

week4-условия

Oct 29th, 2020 (edited)
641
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 6.64 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------
  2. ------------------------АГРЕГАТНИ ФУНКЦИИ; КЛАУЗИ: GROUP BY, HAVING, ORDER BY--------------
  3. -------------------------------------------------------------------------------------------
  4. --Задача #1
  5. --Изведете общото количество, в което продуктите (само с техните идентификатори) са били поръчани;
  6. -- и сортирайте резултатния набор спрямо общото количество във възходящ ред.
  7.  
  8. --Задача #2
  9. --Изведете от кои идентификатори на държави колко на брой клиенти има фирмата.
  10. --Сортирайте спрямо бройката на клиентите в низходящ ред.
  11.  
  12. --Задача #3
  13. --Изведете броя поръчки, които е изпълнил всеки служител.
  14. --В резултатния набор да участват само служители, изпълнили повече от 5 поръчки.
  15.  
  16. --Задача #4
  17. --Изведете длъжностите със средна работна заплата над 10 000.
  18. --Сортирайте спрямо средната работна заплата в низходящ ред.
  19.  
  20. --Задача #5
  21. --Изведете колко служители са назначени на определен идентификатор на длъжност.
  22. --Но резултатът да включва само тези длъжности, на които има повече от 5 служителя.
  23. --Сортирайте по броя служители на съответната длъжност във възходящ ред.
  24.  
  25. -------------------------------------------------------------------------------------------
  26. -------------------------------------Set operators-----------------------------------------
  27. ---------------------------------------UNION ----------------------------------------------
  28. /*  Резултатните набори, които се обединяват, трябва да отговарят на следните условия:
  29.         -Всяка заявка в оператора UNION трябва да има еднакъв брой колони;
  30.         -Колоните трябва да имат съвместими типове от данни;
  31.         -В целия израз може да присъства само една клауза ORDER BY накрая,
  32.         сортираща обединения резултат. */
  33.  
  34. --Пример 4-5.
  35.     --Да се изведат идентификаторите на държавите, в които има клиенти или отдели на фирмата.
  36.  
  37. --Пример 4-6.
  38.     --Да се изведат идентификаторите на държавите, в които има клиенти или отдели на фирмата.
  39.     --Нека в резултатния набор участват и дублиращите се записи.
  40.  
  41.  
  42. /*Задача 4-4.
  43.     Да се изведат всички малки имена на клиенти и служители с евентуалните
  44.     повторения, сортирани в низходящ ред по име. */
  45.  
  46.  
  47. /*Задача 4-5.
  48.     Да се изведат име и фамилия на клиенти и служители без повторения, а като
  49.     трета колона за клиентите да се използва израз, генериращ низа „Клиент
  50.     (<идентификатор>)“, за служителите – „Служител (<идентификатор>)“. */
  51.  
  52.  
  53. ----------------------------------INTERSECT(сечение)---------------------------------------
  54. /*Резултатът съдържа общите за двата резултатни набора редове, без дубликати. С условия:
  55.      -Броят на колоните във всички заявки трябва да бъде еднакъв;
  56.      -Колоните трябва да бъдат от съвместими типове от данни.
  57.  
  58. Пример 4-7.
  59.     Да се изведат id на държавите, в които има клиенти и отдели на фирмата едновременно.*/
  60.  
  61. --Задача 4-6. Да се изведат общите собствени имена на клиенти и служители.
  62.  
  63. ----------------------------------EXCEPT---------------------------------------------------
  64. /*Връща редовете, върнати от първата заявка, които не се срещат измежду редове от втората.
  65. Условия:
  66.     -Броят на колоните във двете заявки трябва да бъде еднакъв;
  67.     -Колоните трябва да бъдат от съвместими типове от данни. */
  68.  
  69. --Пример 4-8.
  70. --  Изведи id на държавите, в които има клиенти и в същото време няма отдели на фирмата.
  71.  
  72. /*Задача 4-7.
  73.     Да се изведат собствени имена на клиенти, които не се срещат сред тези на служители.*/
  74.  
  75. -------------------------------------------------------------------------------------------
  76. ------------------------------------ JOIN -------------------------------------------------
  77. --JOIN се използва за извличане на данни от две или повече таблици, като редовете им се
  78. --комбинират чрез логическа връзка между таблиците, която може да бъде във FROM или WHERE.
  79. --Обикновено тази връзка е първичен/външен ключ, но не задължително.
  80.  
  81. -------------------------------------INNER JOIN или просто JOIN-----------------------------
  82. --Извежда редовете от две/повече таблици, които имат съвпадащи стойности в колоните,
  83. --посочени в условието за сравнение.
  84.  
  85. --Пример 4-10.
  86. --  Да се изведат държавите и регионите, в които се намират.
  87.  
  88. --Пример 4-11.
  89. --  Изведи имена на клиенти, имена на държавите от които са, и имена на регионите на държавите.
  90.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement