SQL Server Where子句 | 您所在的位置:网站首页 › 查询里的where › SQL Server Where子句 |
在本教程中,将学习如何使用SQL Server WHERE子句来过滤查询返回的行。 SQL Server WHERE子句简介当使用SELECT语句查询表中的数据时,将获得表的所有行,这是显然是不必要的,因为应用程序当时只能处理一组行。 要从表中获取满足一行或多个条件的行,请使用WHERE子句,如下所示: SELECT select_list FROM table_name WHERE search_condition;在WHERE子句中,指定搜索条件以过滤FROM子句返回的行。 WHERE子句仅返回导致搜索条件计算为TRUE的行。搜索条件是逻辑表达式或多个逻辑表达式的组合。 在SQL中,逻辑表达式通常称为谓词。 请注意,SQL Server使用三值谓词逻辑,其中逻辑表达式可以计算为TRUE,FALSE或UNKNOWN。 WHERE子句不会返回导致谓词计算结果为FALSE或UNKNOWN的任何行。 SQL Server WHERE示例我们将使用示例数据库中的products表进行演示,表的结构如下: A. 通过使用简单的相等来查找行以下语句检索类别为id为1的所有产品: SELECT product_id, product_name, category_id, model_year, list_price FROM production.products WHERE category_id = 1 ORDER BY list_price DESC;执行上面查询语句,得到以下结果: B. 查找满足两个条件的行以下示例返回满足两个条件的产品:category_id为1,model_year为2018。它使用逻辑运算符AND来组合这两个条件。 SELECT product_id, product_name, category_id, model_year, list_price FROM production.products WHERE category_id = 1 AND model_year = 2018 ORDER BY list_price DESC;执行上面查询语句,得到以下结果: C. 使用比较运算符查找行以下语句查找价格大于300且型号为2018的产品。 SELECT product_id, product_name, category_id, model_year, list_price FROM production.products WHERE list_price > 300 AND model_year = 2018 ORDER BY list_price DESC;执行上面查询语句,得到以下结果: D. 查找满足两个条件中的任何一个的行以下查询查找价格大于3000或型号为2018的产品。满足其中一个条件的任何产品都包含在结果集中。 SELECT product_id, product_name, category_id, model_year, list_price FROM production.products WHERE list_price > 3000 OR model_year = 2018 ORDER BY list_price DESC;执行上面查询语句,得到以下结果: 请注意,OR运算符用于组合谓词。 E. 查找具有两个值之间的值的行以下语句查找价格介于1899和1999.99之间的产品: SELECT product_id, product_name, category_id, model_year, list_price FROM production.products WHERE list_price BETWEEN 1899.00 AND 1999.99 ORDER BY list_price DESC;执行上面查询语句,得到以下结果: F. 查找值列表中具有值的行以下示例使用IN运算符查找价格为299.99或466.99或489.99的产品。 SELECT product_id, product_name, category_id, model_year, list_price FROM production.products WHERE list_price IN (299.99, 369.99, 489.99) ORDER BY list_price DESC;执行上面查询语句,得到以下结果: G. 查找其值包含字符串的行以下示例使用LIKE运算符查找名称中包含字符串Cruiser的产品: SELECT product_id, product_name, category_id, model_year, list_price FROM production.products WHERE product_name LIKE '%Cruiser%' ORDER BY list_price;执行上面查询语句,得到以下结果: 在本教程中,学习了如何使用SQL Server WHERE子句根据一行或多个条件筛选行。 上一篇: SQL Server数据查询 下一篇: SQL Server连接表 |
CopyRight 2018-2019 实验室设备网 版权所有 |