AdventureWorks Database: Products with Mountain or Road in the name
SQL Query - AdventureWorks: Exercise-54 with Solution
54. From the following table write a query in SQL to retrieve all the products that contain either the phrase Mountain or Road. Return name, and color columns.
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 'Name' and 'Color' from the Product table
SELECT Name, color
-- From the Production schema's Product table
FROM Production.Product
-- Filtering the results to include only rows where the text search vector of the 'Name' column matches the text search query 'Mountain | Road'
-- The to_tsvector() function converts the 'Name' column to a text search vector
-- The @@ operator checks if the text search vector matches the text search query
-- The to_tsquery() function creates a text search query from the string 'Mountain | Road'
-- This query searches for products with names containing either 'Mountain' or 'Road'
WHERE to_tsvector(name) @@ to_tsquery('Mountain | Road');
Explanation:
- The SQL query retrieves data from the Product table within the Production schema.
- It selects two columns: Name and color.
- The WHERE clause filters the results to include only rows where:
- The text search vector of the Name column matches the text search query 'Mountain | Road'.
- The to_tsvector() function converts the Name column to a text search vector, which is a preprocessed representation of the text that is optimized for searching.
- The @@ operator checks if the text search vector matches the text search query.
- The to_tsquery() function creates a text search query from the string 'Mountain | Road', where '|' represents the logical OR operator.
- This query searches for products with names containing either 'Mountain' or 'Road'.
Sample Output:
name |color | --------------------------------+------------+ Mountain End Caps | | Road End Caps | | LL Mountain Rim | | ML Mountain Rim | | HL Mountain Rim | | LL Road Rim | | ML Road Rim | | HL Road Rim | | LL Mountain Seat Assembly | | ...
SQL AdventureWorks Editor:
Practice Online
Contribute your code and comments through Disqus.
Previous: Find products containing Mountain for $80.99.
Next: Name with the words Mountain and Black.
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://w3resource.com/sql-exercises/adventureworks/sql-adventureworks-exercise-54.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics