AdventureWorks Database: Using a derived table with multiple values
SQL Query - AdventureWorks: Exercise-45 with Solution
45. Write a SQL query to find the productid, name, and colour of the items 'Blade', 'Crown Race' and 'AWC Logo Cap' using a derived table with multiple values.
Sample table: Production.Productproductid|name |productnumber|makeflag|finishedgoodsflag|color |safetystocklevel|reorderpoint|standardcost|listprice|size|sizeunitmeasurecode|weightunitmeasurecode|weight |daystomanufacture|productline|class|style|productsubcategoryid|productmodelid|sellstartdate |sellenddate |discontinueddate|rowguid |modifieddate | ---------+--------------------------------+-------------+--------+-----------------+------------+----------------+------------+------------+---------+----+-------------------+---------------------+-------+-----------------+-----------+-----+-----+--------------------+--------------+-----------------------+-----------------------+----------------+------------------------------------+-----------------------+ 1|Adjustable Race |AR-5381 |false |false | | 1000| 750| 0| 0| | | | | 0| | | | | |2008-04-30 00:00:00.000| | |694215b7-08f7-4c0d-acb1-d734ba44c0c8|2014-02-08 10:01:36.827| 2|Bearing Ball |BA-8327 |false |false | | 1000| 750| 0| 0| | | | | 0| | | | | |2008-04-30 00:00:00.000| | |58ae3c20-4f3a-4749-a7d4-d568806cc537|2014-02-08 10:01:36.827| 3|BB Ball Bearing |BE-2349 |true |false | | 800| 600| 0| 0| | | | | 1| | | | | |2008-04-30 00:00:00.000| | |9c21aed2-5bfa-4f18-bcb8-f11638dc2e4e|2014-02-08 10:01:36.827| 4|Headset Ball Bearings |BE-2908 |false |false | | 800| 600| 0| 0| | | | | 0| | | | | |2008-04-30 00:00:00.000| | |ecfed6cb-51ff-49b5-b06c-7d8ac834db8b|2014-02-08 10:01:36.827| 316|Blade |BL-2036 |true |false | | 800| 600| 0| 0| | | | | 1| | | | | |2008-04-30 00:00:00.000| | |e73e9750-603b-4131-89f5-3dd15ed5ff80|2014-02-08 10:01:36.827| 317|LL Crankarm |CA-5965 |false |false |Black | 500| 375| 0| 0| | | | | 0| |L | | | |2008-04-30 00:00:00.000| | |3c9d10b7-a6b2-4774-9963-c19dcee72fea|2014-02-08 10:01:36.827| 318|ML Crankarm |CA-6738 |false |false |Black | 500| 375| 0| 0| | | | | 0| |M | | | |2008-04-30 00:00:00.000| | |eabb9a92-fa07-4eab-8955-f0517b4a4ca7|2014-02-08 10:01:36.827| -- more --
Sample Solution:
-- Selecting specific columns from the Product table
SELECT ProductID, a.Name, Color
-- From the Production schema's Product table, aliasing it as 'a'
FROM Production.Product AS a
-- Joining with a derived table using the VALUES clause to create a table with specified values
-- The derived table consists of a single column 'Name' with values 'Blade', 'Crown Race', and 'AWC Logo Cap'
INNER JOIN (VALUES ('Blade'), ('Crown Race'), ('AWC Logo Cap')) AS b(Name)
-- Joining condition: matching product names between the Product table and the derived table
ON a.Name = b.Name;
Explanation:
- The SQL query retrieves data from the Product table within the Production schema.
- It selects three columns: ProductID, Name, and Color.
- The INNER JOIN clause is used to join the Product table with a derived table created using the VALUES clause.
- The VALUES clause generates a table with specified values ('Blade', 'Crown Race', and 'AWC Logo Cap') for the column Name.
- This derived table is aliased as 'b'.
- The join condition links rows from the Product table with rows from the derived table based on matching Name values.
- The result set will include rows from the Product table where the Name matches any of the specified values in the derived table.
- Only matching rows will be returned, and the output will contain the ProductID, Name, and Color columns.
Sample Output:
productid|name |color| ---------+------------+-----+ 316|Blade | | 323|Crown Race | | 712|AWC Logo Cap|Multi|
SQL AdventureWorks Editor:
Practice Online
Contribute your code and comments through Disqus.
Previous: Retrieve individuals using multiple conditions.
Next: Each salesperson's annual sales orders.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/sql-exercises/adventureworks/sql-adventureworks-exercise-45.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics