||Oracle Concepts by Burleson
Compare SQL Subqueries
One of the
problems with SQL is that the same query can be expressed in a variety
of ways, all with identical results but widely varying execution plans
and readability. In the example below, the following three SQL
queries all produce the same output, but they look quite different.
Each of the below queries produces a list of books that have no sales.
Here is the output:
was george washington gay?
never eat boogers
how to housebreak your horse
is as follows:
1. Copy these
query and run it against the sample database to verify that the same
results are returned.
2. Once the
output is confirmed, investigate each for of the subquery with a
Google search and a review of Chapter 19.
3. Write a 300
word paper outlining your conclusions about the most efficient way to
get the desired output and your recommendations on the most efficient
and readable way to code this SQL query.
book_title format a40
-- FORM 1
book_title not in (
book.book_key = sales.book_key
quantity > 0);
-- FORM 2
book_key not in (select book_key from sales);
-- FORM 3
t.book_key = s.book_key(+)
quantity is null
For more details, see the "Easy
Oracle Series" a set of books especially designed by Oracle
experts to get you started fast with Oracle database technology.
Download your Oracle scripts now:
definitive Oracle Script collection for every Oracle professional DBA