ExcelStore

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

Jan 27th, 2021 (edited)
4,595
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.51 KB | None | 0 0
  1. -- Подзапросы в SQL
  2. -- https://youtu.be/fm434u-FKd0
  3.  
  4. -------------------------------------------
  5. -- Расширенные возможности SQL. Примеры команд SQL в рамках урока #3.
  6.  
  7.  
  8. SELECT DISTINCT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER
  9. FROM EMPLOYEES
  10. WHERE MANAGER_ID IN
  11.       (
  12.         SELECT DISTINCT MANAGER_ID
  13.         FROM DEPARTMENTS
  14.         WHERE DEPARTMENT_NAME IN ('Marketing', 'Sales', 'Finance')
  15.       )
  16. ;
  17.  
  18.  
  19. SELECT DISTINCT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER
  20. FROM EMPLOYEES
  21. WHERE MANAGER_ID IN
  22.       (
  23.         SELECT DISTINCT MANAGER_ID FROM DEPARTMENTS
  24.         WHERE DEPARTMENT_NAME = 'IT'
  25.               AND LOCATION_ID IN
  26.                 (
  27.                   SELECT LOCATION_ID FROM LOCATIONS
  28.                   WHERE CITY IN ('Toronto', 'Southlake')
  29.                 )
  30.       )
  31. ;
  32.  
  33.  
  34. SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY, DEPARTMENT_ID
  35. FROM EMPLOYEES
  36. WHERE SALARY = (SELECT MAX(SALARY) FROM EMPLOYEES)
  37. ;
  38.  
  39.  
  40. SELECT b.COUNTRY_NAME, a.REGION_NAME
  41. FROM
  42.    REGIONS a,
  43.    (
  44.       SELECT COUNTRY_NAME, REGION_ID
  45.       FROM COUNTRIES
  46.       WHERE REGION_ID > 2
  47.    ) b
  48. WHERE
  49.    a.REGION_ID = b.REGION_ID
  50. ;
  51.  
  52.  
  53. SELECT b.COUNTRY_NAME, a.REGION_NAME
  54. FROM
  55.    REGIONS a
  56.    INNER JOIN
  57.      (
  58.         SELECT COUNTRY_NAME, REGION_ID
  59.         FROM COUNTRIES
  60.         WHERE REGION_ID > 2
  61.      ) b
  62.     ON a.REGION_ID = b.REGION_ID
  63. ;
  64.  
  65.  
  66. SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, DEPARTMENT_ID
  67. FROM EMPLOYEES
  68. WHERE DEPARTMENT_ID IN
  69.   (
  70.     SELECT DEPARTMENT_ID FROM DEPARTMENTS WHERE LOCATION_ID BETWEEN 1700 AND 2000
  71.     UNION
  72.     SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE LAST_NAME LIKE '%ing%'
  73.   )
  74. ORDER BY EMPLOYEE_ID
  75. ;
  76.  
  77.  
  78. SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, DEPARTMENT_ID
  79. FROM EMPLOYEES
  80. WHERE DEPARTMENT_ID IN
  81.   (
  82.     SELECT DEPARTMENT_ID
  83.     FROM EMPLOYEES
  84.     WHERE LAST_NAME LIKE '%ing%'
  85.     ORDER BY DEPARTMENT_ID
  86.   )
  87. ;
  88.  
  89.  
  90. SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, DEPARTMENT_ID
  91. FROM EMPLOYEES
  92. WHERE EXISTS
  93.       (
  94.         SELECT DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID
  95.         FROM DEPARTMENTS
  96.         WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID
  97.       )
  98. ;
  99.  
  100.  
  101. SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, DEPARTMENT_ID
  102. FROM EMPLOYEES
  103. WHERE NOT EXISTS
  104.       (
  105.         SELECT DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID
  106.         FROM DEPARTMENTS
  107.         WHERE EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID
  108.       )
  109. ;
  110.  
  111.  
Add Comment
Please, Sign In to add comment