Chapter 7: More SQL: Complex Queries, Triggers, Views, and Schema Modification
1
CHAPTER 7: More SQL: Complex Queries, Triggers, Views, and Schema
Modification
Answers to Selected Exercises
7.5 – Specify the following additional queries on the database of Figure 3.5 in SQL. Show the
query results if applied to the database of Figure 3.6.
(a) For each department whose average employee salary is more than $30,000, retrieve
the department name and the number of employees working for that department.
(b) Suppose we want the number of male employees in each department rather than all
employees (as in Exercise 5.4a). Can we specify this query in SQL? Why or why not?
Answers:
(a) SELECT DNAME, COUNT (*)
FROM DEPARTMENT, EMPLOYEE
Result:
DNAME DNUMBER COUNT(*)
(b) The query may still be specified in SQL by using a nested query as follows (not all
implementations may support this type of query):
SELECT DNAME, COUNT (*)
FROM DEPARTMENT, EMPLOYEE
7.6 – Specify the following queries in SQL on the database schema of Figure 1.2.
(a) Retrieve the names and major departments of all straight-A students (students who
have a grade of A in all their courses).
(b) Retrieve the names and major departments of all students who do not have any
grade of A in any of their courses.
Chapter 7: More SQL: Complex Queries, Triggers, Views, and Schema Modification
2
Answers:
(a) SELECT Name, Major
FROM STUDENT
7.7 – In SQL, specify the following queries on the database specified in Figure 3.5 using the
concept of nested queries and the concepts described in this chapter.
a. Retrieve the names of all employees who work in the department that has the
employee with the highest salary among all employees.
b. Retrieve the names of all employees whose supervisor’s supervisor has ‘888665555′
for Ssn.
c. Retrieve the names of employees who make at least $10,000 more than the employee
who is paid the least in the company.
Answers:
a) SELECT LNAME FROM EMPLOYEE WHERE DNO =
( SELECT DNO FROM EMPLOYEE WHERE SALARY =
7.8 No solution provided.
7.9 No solution provided.