Guest User

Untitled

a guest
Jun 18th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.91 KB | None | 0 0
  1. USE air;
  2. GO
  3.  
  4. --Identify the flights that can be piloted by every pilot whose salary is more than $100,000.
  5.  
  6. USE air
  7. SELECT  
  8.  f.flno , COUNT(DISTINCT eid), origin, destination
  9. FROM
  10.  aircraft a JOIN certified c ON a.aid=c.aid JOIN flights f ON a.cruisingrange>=f.distance
  11. WHERE
  12.  eid IN (SELECT e.eid FROM employees e JOIN certified c ON e.eid=c.eid WHERE salary > 200000)
  13. GROUP BY
  14.  f.flno, origin, destination
  15. HAVING
  16.  COUNT(DISTINCT eid) = (SELECT COUNT(DISTINCT e.eid)
  17.     FROM employees e JOIN certified c ON e.eid=c.eid WHERE salary > 200000)
  18.  
  19. GO
  20.  
  21.  
  22. DECLARE @salary NUMERIC(10,2) = 200000;
  23. SELECT DISTINCT
  24.  F.flno, F.origin, F.destination, F.distance,
  25.  --A.aname, a.cruisingrange
  26.  COUNT(DISTINCT e.eid) LiczbaPilotow,
  27.  (SELECT COUNT(DISTINCT c1.eid) FROM employees E1 JOIN certified C1 ON e1.eid=c1.eid WHERE salary > @salary) TotalLP
  28. FROM flights F JOIN aircraft A ON F.distance < A.cruisingrange
  29.  JOIN certified C ON a.aid=c.aid
  30.  JOIN employees E ON c.eid=e.eid
  31. WHERE e.salary > @salary
  32. GROUP BY F.flno, F.origin, F.destination, F.distance
  33. GO
  34.  
  35.  
  36. SELECT
  37.  *
  38. FROM
  39.  employees e JOIN certified c ON e.eid=c.eid JOIN aircraft a ON a.aid=c.aid
  40. WHERE
  41.  cruisingrange>3000
  42.  AND e.eid NOT IN (
  43.  SELECT e.eid FROM employees e JOIN certified c ON e.eid=c.eid JOIN aircraft a ON a.aid=c.aid WHERE aname LIKE '%boeing%'
  44.  )
  45. GO
  46.  
  47.  
  48.  
  49. SELECT e.eid
  50. FROM
  51.  employees e JOIN certified c ON e.eid=c.eid
  52. GROUP BY
  53.  e.eid
  54. HAVING COUNT(aid)=
  55.      (SELECT top 1 COUNT(aid)
  56.      FROM
  57.       employees e JOIN certified c ON e.eid=c.eid
  58.      GROUP BY
  59.       e.eid
  60.      ORDER BY COUNT(aid) DESC)
  61.  
  62.  
  63. SELECT SUM(employees.salary) FROM employees
  64.  
  65.  
  66.  
  67. SELECT eid FROM (
  68.  SELECT
  69.   eid, COUNT(aid) lc
  70.  FROM
  71.   certified
  72.  GROUP BY eid
  73. ) pp WHERE pp.lc=(SELECT MAX(lc) FROM ( SELECT
  74.   eid, COUNT(aid) lc
  75.  FROM
  76.   certified
  77.  GROUP BY eid
  78. ) pp2);
  79.  
  80. SELECT aid FROM aircraft
  81. EXCEPT
  82. SELECT DISTINCT aid FROM certified
Add Comment
Please, Sign In to add comment