ExcelStore

Расширенные возможности SQL - Команд SQL в рамках урока #10

Apr 28th, 2021 (edited)
4,322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.29 KB | None | 0 0
  1. -- Оконные функции в SQL (Агрегатные функции)
  2. -- https://youtu.be/9nN_g4eIEgo
  3.  
  4. -------------------------------------------
  5. -- Расширенные возможности SQL. Примеры команд SQL в рамках урока #10.
  6.  
  7.  
  8. SELECT FIRST_NAME, LAST_NAME, JOB_ID, SALARY
  9. FROM employees;
  10.  
  11.  
  12. SELECT a.FIRST_NAME, a.LAST_NAME, a.JOB_ID, a.SALARY, b.MAX_SALARY
  13. FROM
  14.     employees a
  15.     LEFT JOIN
  16.         (
  17.             SELECT JOB_ID, MAX(SALARY) AS MAX_SALARY FROM employees
  18.             GROUP BY JOB_ID
  19.         ) b ON a.JOB_ID = b.JOB_ID
  20. ;
  21.  
  22.  
  23. SELECT
  24.     FIRST_NAME, LAST_NAME, JOB_ID, SALARY,
  25.     MAX(SALARY) OVER (PARTITION BY JOB_ID) AS MAX_SALARY
  26. FROM employees
  27. ;
  28.  
  29.  
  30. SELECT
  31.     FIRST_NAME, LAST_NAME, JOB_ID, SALARY,
  32.     MAX(SALARY) OVER () AS MAX_SALARY
  33. FROM employees
  34. ;
  35.  
  36.  
  37. SELECT FIRST_NAME, LAST_NAME, JOB_ID, SALARY, MAX(SALARY)
  38. FROM employees
  39. GROUP BY FIRST_NAME, LAST_NAME, JOB_ID, SALARY
  40. ;
  41.  
  42.  
  43. SELECT
  44.     a.FIRST_NAME, a.LAST_NAME, b.DEPARTMENT_NAME,
  45.     a.SALARY,
  46.     round(a.SALARY / SUM(SALARY) OVER (PARTITION BY b.DEPARTMENT_NAME),2) AS PR_SALARY,
  47.     SUM(SALARY) OVER (PARTITION BY b.DEPARTMENT_NAME) AS SUM_DEPARTMENT_SALARY
  48. FROM
  49.     employees a
  50.     LEFT JOIN departments b ON a.DEPARTMENT_ID = b.DEPARTMENT_ID
  51. ;
  52.  
Add Comment
Please, Sign In to add comment