Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.93 KB | None | 0 0
  1. --1
  2. CREATE TABLE employees AS SELECT  * FROM hr.employees;
  3. CREATE TABLE department AS SELECT  * FROM hr.departments;
  4. CREATE TABLE countries AS SELECT  * FROM hr.countries;
  5. CREATE TABLE jobs AS SELECT  * FROM hr.jobs;
  6. CREATE TABLE locations AS SELECT  * FROM hr.locations;
  7. ALTER TABLE employees
  8. ADD PRIMARY KEY (employee_id);
  9.  
  10. ALTER TABLE jobs
  11. ADD PRIMARY KEY (job_id);
  12.  
  13. ALTER TABLE location
  14. ADD PRIMARY KEY (location_id);
  15.  
  16. ALTER TABLE departments
  17. ADD PRIMARY KEY (department_id);
  18.  
  19. ALTER TABLE employees
  20. ADD FOREIGN KEY (department_id) REFERENCES departments (department_id);
  21.  
  22. ALTER TABLE employees
  23. ADD FOREIGN KEY (job_id) REFERENCES jobs (job_id);
  24.  
  25. ALTER TABLE employees
  26. ADD FOREIGN KEY (location_id) REFERENCES locations (location_id);
  27.  
  28. --2
  29. CREATE VIEW dane60 AS SELECT * FROM employees
  30. WHERE department_id = 60;
  31.  
  32. --3
  33. SELECT * FROM dane60;
  34.  
  35. UPDATE dane60
  36. SET salary = salary*1.1;
  37.  
  38. UPDATE dane60 SET salary = salary*1.1
  39. WHERE department_id = 90;
  40.  
  41. --4
  42. CREATE VIEW daneShiping AS SELECT first_name, last_name, salary
  43. FROM employees JOIN departments USING (department_id)
  44. WHERE department_name= 'Shipping';
  45.  
  46. --5
  47. CREATE VIEW danePracow AS SELECT first_name, last_name,
  48. nv12(commission_pct, (commission_pct+1)*salary*12, salary*12) AS wynagrodzenie
  49. FROM employees;
  50.  
  51. --6
  52. DROP VIEW danePracow;
  53.  
  54. --7
  55. CREATE VIEW danePrac AS SELECT employee_id, first_name, last_name, job_title
  56. FROM employees JOIN jobs USING (job_id);
  57.  
  58. SELECT * FROM danePrac;
  59.  
  60. UPDATE danePrac SET first_name = 'Jan' WHERE employee_id =206;
  61. DROP VIEW DanePrac;
  62.  
  63. CREATE VIEW danePrac AS SELECT employee_id, first_name, last_name, job_title
  64. FROM employees JOIN jobs USING(job_id)
  65. WITH READ ONLY;
  66.  
  67. UPDATE danePrac SET first_name = 'Jan' WHERE employee_id = 200;
  68.  
  69. --8
  70. CREATE VIEW stanowiska AS SELECT job_id, COUNT(employee_id) AS liczba
  71. FROM employees
  72. GROUP BY job_id;
  73.  
  74. --9
  75. CREATE VIEW oddzial AS SELECT department_id,
  76. COUNT(DISTINCT employee_id) AS pracownicyOddzialow, MIN(salary) AS minimalna, MAX(salary) AS maksymalna
  77. FROM employees
  78. GROUP BY department_id;
  79.  
  80. --10
  81. CREATE VIEW LiczbaPracOddzialach AS SELECT country_name,
  82. COUNT(department_id) AS liczba_oddzialow, COUNT(employee_id) AS liczbaPrac
  83. FROM employees JOIN departments USING(location_id)
  84. JOIN locations USING (location_id)
  85. JOIN countries USING (country_id)
  86. GROUP BY country_name;
  87.  
  88. SELECT * FROM LiczbaPracOddzialach;
  89. DROP VIEW LiczbaPracOddzialach;
  90.  
  91. --11
  92. CREATE OR REPLACE VIEW Pensje AS SELECT MIN(salary) AS minimalna, MAX(salary) AS maksymalna
  93. avg(salary) AS srednia, department_name
  94. FROM employees JOIN departments USING(department_id)
  95. GROUP BY department_name;
  96.  
  97. SELECT * Pensje;
  98. UPDATE Pensje SET department_name  = 'New IT'
  99. WHERE department_name = 'IT';
  100.  
  101. --12
  102. CREATE VIEW danePracow AS
  103. SELECT first_name, last_name, job_title
  104. FROM employees JOIN jobs USING(job_id);
  105. INSERT INTO danePracow(FIRST_NAME, last_name, job_title)
  106. VALUES ('Ada', 'Nowak', 'President');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement