SQL WHERE 子句

简介: SQL WHERE 子句

WHERE 子句用于过滤记录。


SQL WHERE 子句

WHERE 子句用于提取那些满足指定条件的记录。

SQL WHERE 语法

SELECT column1, column2, ...

FROM table_name

WHERE condition;

参数说明:

  • column1, column2, ...:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。



演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |

| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |

| 4  | 微博          | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

+----+--------------+---------------------------+-------+---------+



WHERE 子句实例

下面的 SQL 语句从 "Websites" 表中选取国家为 "CN" 的所有网站:

实例

SELECT * FROM Websites WHERE country='CN';

执行输出结果:



文本字段 vs. 数值字段

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

在上个实例中 'CN' 文本字段使用了单引号。

如果是数值字段,请不要使用引号。

实例

SELECT * FROM Websites WHERE id=1;

执行输出结果:



WHERE 子句中的运算符

下面的运算符可以在 WHERE 子句中使用:

运算符 描述
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

SQL SELECT DISTINCT 语句

SQL AND & OR 运算符

2 篇笔记 写笔记

  1.   tin  cxt***qq.com3644Where 子句搜索 empno 等于 7900 的数据:

Select * from emp where empno=7900;

  1. Where +条件(筛选行)条件:列,比较运算符,值比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)

Select * from emp where ename='SMITH';

  1. 例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。逻辑运算And:与 同时满足两个条件的值。

Select * from emp where sal > 2000 and sal < 3000;

  1. 查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。Or:或 满足其中一个条件的值

Select * from emp where sal > 2000 or comm > 500;

  1. 查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。Not:非 满足不包含该条件的值。

select * from emp where not sal > 1500;

  1. 查询EMP表中 sal 小于等于 1500 的值。逻辑运算的优先级:

()    not        and         or

  1. 特殊条件1.空值判断: is null

Select * from emp where comm is null;

  1. 查询 emp 表中 comm 列中的空值。2.between and (在 之间的值)

Select * from emp where sal between 1500 and 3000;

  1. 查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。3.In

Select * from emp where sal in (5000,3000,1500);

  1. 查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。4.likeLike模糊查询

Select * from emp where ename like 'M%';

  1. 查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。
  • % 表示多个字值,_ 下划线表示一个字符;
  • M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
  • %M% : 表示查询包含M的所有内容。
  • %M_ : 表示查询以M在倒数第二位的所有内容。
  1. tin
      tin
     cxt***qq.com
    7年前 (2017-03-06)

  2.   张耘翡
     869***43@qq.com
    1428
    不带比较运算符的 WHERE 子句:
    WHERE 子句并不一定带比较运算符,当不带运算符时,会执行一个隐式转换。当 0 时转化为 false,1 转化为 true。例如:

SELECT studentNO FROM student WHERE 0

  1. 则会返回一个空集,因为每一行记录 WHERE 都返回 false。

SELECT  studentNO  FROM student WHERE 1

  1. 返回 student 表所有行中 studentNO 列的值。因为每一行记录 WHERE 都返回 true。
    张耘翡
      张耘翡
     869***43@qq.com
    6年前 (2018-01-06)
目录
相关文章
|
6天前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
2月前
|
SQL 存储
如何在 SQL Server 中使用 `OUTPUT` 子句
【8月更文挑战第10天】
57 7
如何在 SQL Server 中使用 `OUTPUT` 子句
|
6天前
|
SQL 数据处理 数据库
python 提取出sql语句中where的值
python 提取出sql语句中where的值
15 0
|
2月前
|
SQL 数据库
|
2月前
|
SQL 数据挖掘 关系型数据库
|
2月前
|
SQL
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
访问者模式问题之构造一个包含 select、from 和 where 子句的 SQL 节点树,如何解决
|
3月前
|
SQL 监控 关系型数据库
PolarDB产品使用问题之SQL防火墙怎么拦截没有指定WHERE条件的特定表的SQL语
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP 子句
【7月更文挑战第12天】SQL SELECT TOP 子句。
39 14
|
3月前
|
SQL Oracle 关系型数据库
SQL SELECT TOP 子句
【7月更文挑战第13天】SQL SELECT TOP 子句。
24 5
|
3月前
|
SQL 数据库
SQL WHERE 子句
【7月更文挑战第10天】SQL WHERE 子句。
37 4
下一篇
无影云桌面