Read Chapter 2,7,8 and study the use of the statements of CREATE, UPDATE, INSERT AND ALTER and do the following tasks (copy each task and show the SQL code and the results (table contents) for each task. Also refer to statements in loadDB file to learn how the create/insert statements are formulated, including the naming convention.
a1. Use CREATE statement to create a table Client (ClientName, phone). Note ClientName is primary key and you must define this primary key in CREATE statement. Show the statement.
a2. Use INSERT statement to add two client records into Client table (make up your own data for clients). Show the INSERT statements and use select statement to show the table contents.
a3. Use ALTER statements to add a foreign key ClientName into the Project table. So that table Client has a one to many relationship with table Project. Note, you need to use TWO ALTER statements , one for adding ClientName into Project table; one for adding foreign key constraint into Project table. Show the ALTER statements.
a4. User ALTER statement to Add an attribute Project_Count into Employee table (data type to be integer, refer to the data type used for Workon table (hours) in loadDB file).
a5. Use UPDATE statement to fill the value of Project_count of each employee record in Employee table. Namely, add the count of total number of projects an employee works on into Project_count in Employee table for each employee. Hint: you need a subquery in Update statement as follows
Set _____ = (select count (pid) …… )
Show the contents of Employee after update.
a6 Create a table Promotion_list (EMPID, Name, Salary, DivisionName).
a7 Load Promotion_list with the information of employees who make less than company average and work on at least 2 projects. (Hint use INSERT INTO SELECT statement ). Show the code and result.
b1. Increase the budget of a project by 5% if there is a manager working on it .
b2. List the name of employee who work on a project sponsored by his/her own division. (corelated subquery)
b3. List the name of project that has budget that is higher than ALL projects from ‘marketing’ division.
b4. List the name of project that has budget that are higher than ALL projects from ‘chen’s division.
b5. List the name of employee who work on more projects than employee ‘chen’
b6. List The name of division that has employee(s) who work on other division’s project . (corelated subquery)
b7. List the name of employee who works ONLY with his/her divisional colleagues on project(s). (Hint, namely, the employee (e) firstly works on project(s) , and secondly, there NOT EXISTS a project that e works on and another employee (ee) also works on but they are from different divisions.)