1 Fork me on GitHub

15. SQL--where子句:指定查询条件

1.前言

使用 sql 从单个表或者多表联合查询数据时,可以使用 where 子句指定查询条件。当给定查询条件时,只有满足条件的数据才会被返回。建议您使用 where 子句来过滤记录,以获取必要的结果集。

where 子句不仅可以用在 select 语句中,还可以用在 update、delete 等语句中,我们将在后续章节中进行讲解。
语法
where 子句用于 select 语句时的基本语法如下:

select column1, column2, columnn
from table_name
where condition

您可以在 condition 条件中使用 >、<、= 等比较运算符,或者使用 and、or 等逻辑运算符来指定多个条件,或者使用 like、not like 等进行模糊匹配。
示例
现有一个存有客户信息的 website 表:

+----+----------------+----------------------------+-----+-------+---------+---------+
| id | name           | url                        | age | alexa | uv      | country |
+----+----------------+----------------------------+-----+-------+---------+---------+
|  1 | 百度           | https://www.baidu.com/     |  21 |     4 |  5010.5 | cn      |
|  2 | 淘宝           | https://www.taobao.com/    |  17 |     8 | 3996.75 | cn      |
|  3 | c语言中文网    | http://c.biancheng.net/    |  12 |  7923 |   11.62 | cn      |
|  4 | google         | https://www.google.com/    |  23 |     1 |   36474 | us      |
|  5 | github         | https://github.com/        |  13 |    95 |   216.3 | us      |
|  6 | stack overflow | https://stackoverflow.com/ |  16 |    48 |   592.2 | us      |
|  7 | yandex         | http://www.yandex.ru/      |  11 |    53 |  591.82 | ru      |
|  8 | vk             | https://vk.com/            |  23 |    23 |    1206 | ru      |
+----+----------------+----------------------------+-----+-------+---------+---------+

现在要查询日访问量(uv)大于 800 万的网站,并且只返回 id、name、url 和 uv 四个字段,代码如下:

select id, name, url, uv
from website
where uv > 800;

该语句将得到如下的结果:

+----+--------+-------------------------+---------+
| id | name   | url                     | uv      |
+----+--------+-------------------------+---------+
|  1 | 百度   | https://www.baidu.com/  |  5010.5 |
|  2 | 淘宝   | https://www.taobao.com/ | 3996.75 |
|  4 | Google | https://www.google.com/ |   36474 |
|  8 | VK     | https://vk.com/         |    1206 |


再如,查找日流量大于 500 万,并且名字里面包含字母 o 的网站,代码如下:

select id, name, url, uv
from website
where uv > 500 and name like '%o%';

该语句将得到如下的结果:

+----+----------------+----------------------------+-------+
| id | name           | url                        | uv    |
+----+----------------+----------------------------+-------+
|  4 | Google         | https://www.google.com/    | 36474 |
|  6 | Stack Overflow | https://stackoverflow.com/ | 592.2 |
+----+----------------+----------------------------+-------+

 



posted @ 2022-08-30 16:07  v_jjling  阅读(547)  评论(0编辑  收藏  举报
AmazingCounters.com