Sams Teach Yourself SQL in 24 Hours, Third Edition By Ronald R. Plew, Ryan K. Stephens
Table of Contents
Hour 14. Using Subqueries to Define Unknown Data
The following workshop is composed of a series of quiz questions and practical exercises. The quiz questions are designed to test your overall understanding of the current material. The practical exercises are intended to afford you the opportunity to apply the concepts discussed during the current hour, as well as build upon the knowledge acquired in previous hours of study. Please take time to complete the quiz questions and exercises before continuing. Refer to Appendix C,"Answers to Quizzes and Exercises," for answers.
Quiz
1:
What is the function of a subquery when used with a SELECT statement?
2:
Can you update more than one column when using the UPDATE statement in conjunction with a subquery?
3:
Are the following syntax(s) correct? If not, what is the correct syntax?
SELECT CUST_ID, CUST_NAME FROM CUSTOMER_TBL WHERE CUST_ID = (SELECT CUST_ID FROM ORDERS_TBL WHERE ORD_NUM = '16C17');
SELECT EMP_ID, SALARY FROM EMPLOYEE_PAY_TBL WHERE SALARY BETWEEN '20000' AND (SELECT SALARY FROM EMPLOYEE_ID WHERE SALARY = '40000');
UPDATE PRODUCTS_TBL SET COST = 1.15 WHERE CUST_ID = (SELECT CUST_ID FROM ORDERS_TBL WHERE ORD_NUM = '32A132');
4:
What would happen if the following statement were run?
DELETE FROM EMPLOYEE_TBL WHERE EMP_ID IN (SELECT EMP_ID FROM EMPLOYEE_PAY_TBL);
Exercises
In this exercise section, refer to the Oracle syntax of suqueries covered in this hour. Write the Oracle SQL code for the requested subqueries by hand on a sheet of paper and compare your results to ours. Use the following tables to complete the exercises:
Using a subquery, write an SQL statement to update the CUSTOMER_TBL table, changing the customer name to DAVIDS MARKET, who has an order with order number 23E934.
2:
Using a subquery, write a query that returns all the names of all employees who have a pay rate greater than JOHN DOE, whose employee identification number is 343559876.
3:
Using a subquery, write a query that lists all products that cost more than the average cost of all products.