Chapter Two – Introduction to Structured Query Language
Page 2-98
SELECT LastName, FirstName, Phone, TotalAmount
FROM CUSTOMER C LEFT JOIN (INVOICE I JOIN INVOICE_ITEM II
ON I.InvoiceNumber = II.InvoiceNumber AND II.Item = ‘Dress
/* *** SQL-Query-MDC-U-UNION *** */
SELECT LastName, FirstName, Phone, TotalAmount
FROM CUSTOMER C, INVOICE I, INVOICE_ITEM II
WHERE C.CustomerID = I.CustomerID AND I.InvoiceNumber =
II.InvoiceNumber AND II.Item = ‘Dress Shirt’
UNION SELECT LastName, FirstName, Phone, NULL
FROM CUSTOMER
WHERE CustomerID NOT IN
(SELECT CustomerID
SELECT LastName, FirstName, Phone, TotalAmount
FROM CUSTOMER AS C LEFT OUTER JOIN [SQL-Query-MDC-U-Temp] AS T
ON C.CustomerID = T.CustomerID
ORDER BY TotalAmount, LastName, FirstName DESC;
The results below are the same for all correct versions of this query, with the possible
exception of where the NULL TotalAmounts are presented: In Access, NULL comes before
all values; in Oracle, it comes last, etc.