SQL Exercises: All orders with amounts greater than one on given date
23. From the following table write a SQL query to find all those orders whose order amount exceeds at least one of the orders placed on September 10th 2012. Return ord_no, purch_amt, ord_date, customer_id and salesman_id.
Sample table: Ordersord_no purch_amt ord_date customer_id salesman_id ---------- ---------- ---------- ----------- ----------- 70001 150.5 2012-10-05 3005 5002 70009 270.65 2012-09-10 3001 5005 70002 65.26 2012-10-05 3002 5001 70004 110.5 2012-08-17 3009 5003 70007 948.5 2012-09-10 3005 5002 70005 2400.6 2012-07-27 3007 5001 70008 5760 2012-09-10 3002 5001 70010 1983.43 2012-10-10 3004 5006 70003 2480.4 2012-10-10 3009 5003 70012 250.45 2012-06-27 3008 5002 70011 75.29 2012-08-17 3003 5007 70013 3045.6 2012-04-25 3002 5001
Sample Solution:
-- Selecting all columns from the 'Orders' table
SELECT *
-- Specifying the table to retrieve data from ('Orders')
FROM Orders
-- Filtering the results based on the condition that 'purch_amt' is greater than any value in the set of 'purch_amt' returned by a subquery
WHERE purch_amt > ANY
-- Subquery: Selecting 'purch_amt' values from the 'orders' table where 'ord_date' is '2012/09/10'
(SELECT purch_amt
FROM orders
WHERE ord_date='2012/09/10');
Output of the Query:
ord_no purch_amt ord_date customer_id salesman_id 70005 2400.60 2012-07-27 3007 5001 70008 5760.00 2012-09-10 3002 5001 70010 1983.43 2012-10-10 3004 5006 70003 2480.40 2012-10-10 3009 5003 70013 3045.60 2012-04-25 3002 5001 70007 948.50 2012-09-10 3005 5002
Explanation:
The above SQL query is selecting all columns (*) from the table 'orders' where the "purch_amt" value of the row is greater than any of the "purch_amt" values in the subquery. The subquery is also selecting the "purch_amt" column from the 'orders' table, but only for rows where the "ord_date" value is equal to '2012/09/10'. The ANY keyword is used to check if there is any value in the subquery that the outer query's condition is true for.
Visual Explanation:
Practice Online
Sample Database: inventory
Query Visualization:
Duration:
Rows:
Cost:
Contribute your code and comments through Disqus.
Previous SQL Exercise: Customers with the highest grade in alphabetical order.
Next SQL Exercise: Orders smaller than any amount for a London customer.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics