SQL 教程 目录

SQL WHERE 子句

在本章中,我们将深入探讨 SQL 中的 WHERE 子句。WHERE 子句用于从数据库表中筛选特定条件的数据。它是 SQL 查询中最常用的部分之一,允许我们根据特定条件检索数据。通过掌握 WHERE 子句的使用方法,你可以更有效地查询数据库,并获取你需要的信息。

WHERE 子句的基本语法

WHERE 子句通常用于 SELECT、UPDATE 和 DELETE 语句中。它的基本语法如下:

这里,column1, column2, ... 是你想从表中检索的列名,table_name 是你要从中检索数据的表名,而 condition 则是你设置的筛选条件。

示例

假设有一个名为 employees 的表,其中包含员工的姓名、部门和薪水等信息。如果我们想找出所有薪水高于 5000 的员工,可以使用以下 SQL 语句:

这条语句将返回 employees 表中所有薪水大于 5000 的记录。

使用比较运算符

在 WHERE 子句中,你可以使用多种比较运算符来指定筛选条件。以下是一些常用的比较运算符及其示例:

  • > (大于)
  • < (小于)
  • >= (大于等于)
  • <= (小于等于)
  • = (等于)
  • <>!= (不等于)

示例:使用不同的比较运算符

大于

这条语句将返回所有薪水大于 6000 的员工。

小于

这条语句将返回所有薪水低于 4000 的员工。

大于等于

这条语句将返回所有薪水大于或等于 7000 的员工。

小于等于

这条语句将返回所有薪水小于或等于 3000 的员工。

等于

这条语句将返回所有在销售部门工作的员工。

不等于

这条语句将返回不在人力资源部门的所有员工。

使用逻辑运算符

除了比较运算符外,你还可以使用逻辑运算符来组合多个条件。常见的逻辑运算符包括:

  • AND (并且)
  • OR (或者)
  • NOT (不)

这些运算符可以帮助你构建更复杂的查询。

示例:使用逻辑运算符

AND

这条语句将返回所有薪水高于 5000 且在工程部门工作的员工。

OR

这条语句将返回所有薪水低于 3000 或高于 8000 的员工。

NOT

这条语句将返回不在市场营销部门的所有员工。

使用 BETWEEN 运算符

BETWEEN 运算符用于选取介于两个值之间的数据范围。这个范围包括了开始值和结束值。

示例

这条语句将返回所有薪水在 4000 至 7000 之间(包括 4000 和 7000)的员工。

使用 IN 运算符

IN 运算符用于指定一个列的值属于一组预定义的值中的一个。

示例

这条语句将返回所有在工程、销售或市场营销部门工作的员工。

使用 LIKE 运算符

LIKE 运算符用于搜索列中的指定模式。它通常与通配符一起使用,例如 %_

  • % 表示零个、一个或多个字符。
  • _ 表示单个字符。

示例

这条语句将返回所有电子邮件地址以 @gmail.com 结尾的员工。

这条语句将返回所有名字以 "A" 开头且后面跟一个任意字符的员工。

使用 IS NULL 和 IS NOT NULL

IS NULL 和 IS NOT NULL 运算符用于检查某列是否包含空值。

示例

这条语句将返回所有电话号码为空的员工。

这条语句将返回所有电话号码不为空的员工。

总结

WHERE 子句是 SQL 查询的核心部分之一,它允许你基于特定条件过滤数据。通过理解并熟练运用各种比较运算符、逻辑运算符、BETWEEN、IN、LIKE 以及 IS NULL/IS NOT NULL 运算符,你可以构建出强大而灵活的查询来满足你的需求。接下来,我们将在后续章节中继续深入探讨其他 SQL 查询技巧。

纠错
反馈