SQL Server Where子句 您所在的位置:网站首页 查询里的where SQL Server Where子句

SQL Server Where子句

#SQL Server Where子句 | 来源: 网络整理| 查看: 265

在本教程中,将学习如何使用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 实验室设备网 版权所有