当前位置:首页 > SQL数据库 > 正文内容

004.SQL WHERE 子句,AND & OR 运算符

Conbio2年前 (2022-05-03)SQL数据库2880

SQL WHERE 子句

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

SQL WHERE 语法

SELECT column_name,column_name
 FROM table_name
 WHERE column_name operator value;

演示数据库

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

下面是选自 “Websites” 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/  | 13    | CN      |
| 3  | 树           | http://www.shu.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';

输出结果:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 树懒          | http://www.shu.com/       | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
+----+--------------+---------------------------+-------+---------+

文本字段 vs. 数值字段

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

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

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

SELECT * FROM Websites WHERE id=1;

WHERE 子句中的运算符

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

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

常用的9种运算符:= , <>or!= , > , < , >= ,<= , between , like , in ;



SQL AND & OR 运算符

AND 运算符 :只有第一个条件和第二个条件成立,才显示一条记录。

OR 运算符 :只要第一个条件和第二个条件中有一个成立,就显示一条记录。

演示数据库

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

下面是选自 “Websites” 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 树懒         | http://www.shu.com/        | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

AND 运算符实例

下面的 SQL 语句从 “Websites” 表中选取国家为 “CN” 且alexa排名大于 “50” 的所有网站:

实例:

SELECT * FROM Websites
WHERE country='CN'
AND alexa > 50;

输出结果:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 3  | 树懒         | http://www.shu.com/       | 4689  | CN      |
+----+--------------+---------------------------+-------+---------+

OR 运算符实例

下面的 SQL 语句从 “Websites” 表中选取国家为 “USA” 或者 “CN” 的所有客户:

实例:

SELECT * FROM Websites
WHERE country='USA'
OR country='CN';

输出结果:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 树懒          | http://www.shu.com/       | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

结合 AND & OR

您也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式)

下面的 SQL 语句从 “Websites” 表中选取 alexa 排名大于 “15” 且国家为 “CN” 或 “USA” 的所有网站:

实例:

SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA');

输出结果:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 3  | 树懒          | http://www.shu.com/      | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
+----+--------------+---------------------------+-------+---------+



数据来源于网络,

仅供于个人学习,

若侵权联系删除。


扫描二维码推送至手机访问。

版权声明:本文由ZKCOPS发布,如需转载请注明出处。

本文链接:http://0.iiil.top/?id=6

标签: 数据库
分享给朋友:

“004.SQL WHERE 子句,AND & OR 运算符” 的相关文章

sql清空表数据命令

sql清空表数据命令

有三种清空方式:1.delete from 表名 :逐行删除表数据速度比较慢,不适合删除数据量大的表。2.truncate table 表名 :删除表中所有数据并且保留表结构,但是不能撤消还原。3.drop from 表名 :表数据和表结构一起删除,在实践过程中删除大数据量表数据。使用 1,2这两种...

完整版sqlserver2019卸载教程(Sql Server 2012完全卸载方法 只需8步轻松卸载)

完整版sqlserver2019卸载教程(Sql Server 2012完全卸载方法 只需8步轻松卸载)

完整版sqlserver2019卸载教程Sql Server 2012完全卸载方法 只需8步轻松卸载轻松通过八步实现Sql Server 2012完全卸载,供大家参考,具体内容如下第一步,在控制面板里面找到程序——卸载程序这一项,打开之后就会是这样的了第二步,经过第一步打开卸载程序后,在里面找到Mi...

sql 怎么取 字符串的前几位

sql 怎么取 字符串的前几位

sql中,使用LEFT函数即可取到字符串的前几位。LEFT(c, number_of_char)用于返回某个被请求的文本域的左侧部分,其中c代表被请求的文本域,number_of_cha代表需要取出的字符串位数。如“LEFT("zhidao.baidu.com", 6)”即可取得...

sql server charindex函数

sql server charindex函数

charindex函数-匹配字符串开始位置  --CHARINDEX(str1,str[,start])函数返回子字符串str1在字符串str中的开始位置  --start为搜索的开始位置,如果指定start参数,则从指定位置开始搜索;如果不指定start参数或者指定为0或者负值...

sqlserver 各种判断是否存在(表、视图、函数、存储过程等)

sqlserver 各种判断是否存在(表、视图、函数、存储过程等)

1、判断表是否存在select * from sysobjects where id = object_id(表名) and OBJECTPROPERTY(id, N'IsUserTable&...

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别

SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。下表列出 SET 与 SELECT 的区别。请特别注意红色部分。setselect同时对多个变量同时赋值不支持支持表达式返回多个值时出错将返回的最后一个值赋给...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。