flash_7

CSE 311 Database

Oct 18th, 2016
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 6.15 KB | None | 0 0
  1. CREATE TABLE Departments(
  2. DEPARTMENT_ID NUMBER(4) NOT NULL,
  3. DEPARTMENT_NAME VARCHAR2(30) NOT NULL,
  4. MANAGER_ID NUMBER(6),
  5. LOCATION_ID NUMBER(4)
  6. );
  7.  
  8. CREATE TABLE Locations(
  9. LOCATION_ID NUMBER(4) NOT NULL,
  10. STREET_ADDRESS VARCHAR2(40),
  11. POSTAL_CODE VARCHAR2(12),
  12. CITY VARCHAR2(30) NOT NULL,
  13. STATE_PROVINCE VARCHAR2(25),
  14. COUNTRY_ID CHAR(2)
  15. );
  16.  
  17. CREATE TABLE Employees(
  18. Employee_Id NUMBER(6) PRIMARY KEY,
  19. First_Name VARCHAR2(20),
  20. Last_Name VARCHAR2(25) NOT NULL,
  21. Email VARCHAR2(25) NOT NULL,
  22. Phone_Number VARCHAR2(15),
  23. Hire_Date DATE NOT NULL,
  24. Job_Id VARCHAR2(10) NOT NULL,
  25. Salary NUMBER(8,2),
  26. Commission_pct NUMBER(2,2),
  27. Manager_id NUMBER(6),
  28. Department_Id NUMBER(4));
  29.  
  30. INSERT ALL
  31. INTO Locations VALUES(1400, '2014 Jabberwocky Rd','26192','Southlake', 'Texas', 'US')
  32. INTO Locations VALUES(1500, '2011 Interiors Blvd','99236','South San Francisco', 'California', 'US')
  33. INTO Locations VALUES(1700, '2004 Charade Rd','98199', 'Seattle','Washington', 'US')
  34. INTO Locations VALUES(1800, '460 Bloor St. W.','ON M5S 1X8', 'Toronto','Ontario', 'CA')
  35. INTO Locations VALUES(2500, 'Magdalen Centre- The Oxford Sc. Park','OX9 9ZB', 'OXford','Oxford', 'UK')
  36. SELECT * FROM dual;
  37.  
  38. INSERT ALL
  39.     INTO Departments VALUES( 10, 'Administration', 200, 1700)
  40.         INTO Departments VALUES( 20, 'Marketing', 201, 1800)
  41.         INTO Departments VALUES( 50, 'Shipping', 124, 1500)
  42.         INTO Departments VALUES( 60, 'IT', 103, 1400)
  43.         INTO Departments VALUES( 80, 'Sales', 149, 2500)
  44.         INTO Departments VALUES( 90, 'Executive', 100, 1700)
  45.         INTO Departments VALUES( 110,'Accounting', 205, 1700)
  46.         INTO Departments VALUES( 190,'Contracting', NULL, 1700 )
  47. SELECT * FROM dual;
  48.  
  49. INSERT ALL
  50. INTO Employees VALUES(100, 'Steven','King', 'SKING','515.123.4567', 'JUN-17-2006', 'AD_PRESS',24000, NULL, NULL, 90)
  51. INTO Employees VALUES(101, 'Neena','Kochar', 'NKOCHAR','515.123.4568', 'SEP-21-2008', 'AD_VP',17000, NULL, 100, 90)
  52. INTO Employees VALUES(102, 'Lex','De Haan', 'DEHAAN','515.123.4569', 'JAN-13-2009', 'AD_VP',17000, NULL, 100, 90)
  53. INTO Employees VALUES(103, 'Alexander','Hunold', 'AHUNOLD','590.423.4567', 'JAN-03-2008', 'IT_PROG',9000,NULL, 102, 60)
  54. INTO Employees VALUES(104, 'Bruce','Ernst', 'BERNST','590.423.4568', 'MAY-21-2009', 'IT_PROG',6000,NULL, 103, 60)
  55. INTO Employees VALUES(107, 'Diana','Lorentz', 'DLORENTZ','590.423.5567', 'FEB-07-2008', 'IT_PROG',4200,NULL, 103, 60)
  56. INTO Employees VALUES(124, 'Kevin','Mourgos', 'KMORGOS','650.123.5234', 'NOV-16-2012', 'ST_MAN',5800,NULL, 100, 50)
  57. INTO Employees VALUES(141, 'Treena','Rajs', 'RRAJS','650.121.5234', 'OCT-17-2004', 'ST_CLERK',3500,NULL, 124, 50)
  58. INTO Employees VALUES(142, 'Curtis','Davies', 'CDAVIES','121.123.5234', 'JAN-29-2007', 'ST_CLERK',3100,NULL, 124, 50)
  59. INTO Employees VALUES(143, 'Randall','Matos', 'RMATOS','121.123.5234', 'MAR-15-2008', 'ST_CLERK',2600,NULL, 124, 50)
  60. INTO Employees VALUES(144, 'Peter','Vargas', 'PVARGAS','121.123.5234', 'JUL-09-2008', 'ST_CLERK',2500,NULL, 124, 50)
  61. INTO Employees VALUES(149, 'Eleni','Zlotkey', 'EZLOTKEY','44.1344.429018', 'JAN-29-2014', 'SA_MAN',10500,.2, 100, 80)
  62. INTO Employees VALUES(174, 'Ellen','Abel', 'EABEL','44.1644.429017', 'MAY-11-2004', 'SA_REP',11000,.3, 149, 80)
  63. INTO Employees VALUES(176, 'Jnathon','Taylor', 'JTAILOR','44.1644.429021', 'MAR-24-2008', 'SA_MAN',8600,.2, 149, 80)
  64. INTO Employees VALUES(178, 'Kimberely','Grant', 'KGRANT','44.1644.429023', 'MAY-24-2009', 'SA_MAN',7000,.15, 149, NULL)
  65. INTO Employees VALUES(200, 'Jennifer','Whalem', 'JWHALEN','515.123.4444', 'SEP-17-2003', 'ADD_ASST',4400,NULL, 101, 10)
  66. INTO Employees VALUES(201, 'Michael','Hartstein', 'MHARSTEIN','515.123.5555', 'FEB-17-2008', 'MK_MAN',13000,NULL, 100, 20)
  67. INTO Employees VALUES(202, 'Pat','Fay','PFAY','603.123.6666', 'AUG-17-2010', 'MK_REP',6000,NULL, 201, 20)
  68. INTO Employees VALUES(205, 'Shelley','Higgins', 'SHIGGINS','515.123.8050', 'JUN-07-2007', 'AC_MGR',12000,NULL, 101, 110)
  69. INTO Employees VALUES(206, 'William','Gietz', 'WGIETZ','515.123.8181', 'JUN-07-2007', 'AC_ACCOUNT',8300,NULL, 205, 110)
  70. SELECT * FROM dual;
  71.  
  72. CREATE TABLE Jobs(
  73. job_id VARCHAR2(10) PRIMARY KEY,
  74. job_title VARCHAR2(35),
  75. min_salary NUMBER(6),
  76. max_salary NUMBER(6));
  77.  
  78. INSERT ALL
  79. INTO JOBS VALUES('AD_PRES', 'President',20000,40000)
  80. INTO JOBS VALUES('AD_VP', 'Administration Vice President',15000, 30000)
  81. INTO JOBS VALUES('AD_ASST', 'Administration Assistant',3000, 6000)
  82. INTO JOBS VALUES('AC_MGR', 'Account Manager',8200, 16000)
  83. INTO JOBS VALUES('AC_ACCOUNT', 'Public Accountant',4200,9000)
  84. INTO JOBS VALUES('SA_MAN', 'Sales Manager',10000, 20000)
  85. INTO JOBS VALUES('SA_REP', 'Sales Representative',6000, 12000)
  86. INTO JOBS VALUES('ST_MAN', 'Stock Manager',5500, 8500)
  87. INTO JOBS VALUES('ST_CLERK', 'Stock Clerk',2000, 5000)
  88. INTO JOBS VALUES('IT_PROG', 'Programmer',4000, 10000)
  89. INTO JOBS VALUES('MK_MAN', 'Marketing Manager',9000, 15000)
  90. INTO JOBS VALUES('MK_REP', 'Marketing Representative',4000, 9000)
  91. SELECT * FROM dual;
  92.  
  93. SELECT E.EMPLOYEE_ID, E.SALARY, J.JOB_TITLE, E.HIRE_DATE, E.JOB_ID
  94. FROM EMPLOYEES E
  95. JOIN JOBS J
  96. ON E.JOB_ID = J.JOB_ID
  97.  
  98. SELECT E.EMPLOYEE_ID, E.LAST_NAME, E.SALARY, J.JOB_TITLE, E.HIRE_DATE, E.JOB_ID, D.DEPARTMENT_NAME
  99. FROM EMPLOYEES E
  100. JOIN JOBS J
  101. ON E.JOB_ID = J.JOB_ID
  102. JOIN DEPARTMENTS D
  103. ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
  104. WHERE E.SALARY NOT BETWEEN 5000 AND 10000;
  105.  
  106. SELECT E.FIRST_NAME, E.LAST_NAME, E.SALARY, E.HIRE_DATE, D.DEPARTMENT_NAME, L.CITY
  107. FROM EMPLOYEES E
  108. JOIN DEPARTMENTS D
  109. ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
  110. LEFT OUTER JOIN LOCATIONS L
  111. ON D.LOCATION_ID = L.LOCATION_ID
  112. WHERE E.HIRE_DATE < 'JAN-01-2010';
  113.  
  114. SELECT E.FIRST_NAME || ' ' || E.LAST_NAME AS "EMPLOYEE NAME", E.SALARY AS "EMP_SALARY",
  115. M.FIRST_NAME || ' ' || M.LAST_NAME AS "MANAGER NAME", M.SALARY AS "MGR_SALARY",
  116. EJ.JOB_TITLE AS "EJOB_TITLE", MJ.JOB_TITLE AS "MJOB_TITLE"
  117.  
  118. FROM EMPLOYEES E
  119. JOIN EMPLOYEES M
  120. ON E.MANAGER_ID = M.EMPLOYEE_ID
  121. JOIN JOBS EJ
  122. ON E.JOB_ID = EJ.JOB_ID
  123. JOIN JOBS MJ
  124. ON MJ.JOB_ID = M.JOB_ID;
  125.  
  126. SELECT ' Mr/s ' || LAST_NAME || ' earns a salary of ' || SALARY || ' with a job id ' || JOB_ID FROM Employees;
  127.  
  128. SELECT ' Mr/s ' || LAST_NAME || ' earns a salary of ' || (SALARY+500)*100 || ' with a job id ' || JOB_ID AS "Employee Summary" FROM Employees;
Add Comment
Please, Sign In to add comment