SQL学习04——过滤数据
Posted xingweikun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL学习04——过滤数据相关的知识,希望对你有一定的参考价值。
过滤数据
使用where子句
查询website表中中国公司的数据。
SELECT name,url,alexa,country FROM websites where country='CN';
+--------+-------------------------+-------+---------+
| name | url | alexa | country |
+--------+-------------------------+-------+---------+
| Taobao | https://www.taobao.com/ | 13 | CN |
| Weibo | http://weibo.com/ | 20 | CN |
+--------+-------------------------+-------+---------+
同时使用order by和where子句时,应该让order by子句位于where子句之后。
where子句操作符
操作符 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
!< | 不小于 |
> | 大于 |
>= | 大于等于 |
!> | 不大于 |
between | 在指定的两个值之间 |
is null | 为null值 |
注意:并非所有的DBMS都支持这些操作符,想确定你的DBMS支持哪些操作符,请参阅相关文档。
检查单个值
SELECT name,url,alexa,country FROM websites where alexa<20;
+----------+---------------------------+-------+---------+
| name | url | alexa | country |
+----------+---------------------------+-------+---------+
| Google | https://www.google.cm/ | 1 | USA |
| Taobao | https://www.taobao.com/ | 13 | CN |
| Facebook | https://www.facebook.com/ | 1 | USA |
+----------+---------------------------+-------+---------+
不匹配检查
SELECT name,url,alexa,country FROM websites where country <> 'USA';
+--------+-------------------------+-------+---------+
| name | url | alexa | country |
+--------+-------------------------+-------+---------+
| Taobao | https://www.taobao.com/ | 13 | CN |
| Xuexi | http://www.xxx.cn | 888 | xxx |
| Weibo | http://weibo.com/ | 20 | CN |
+--------+-------------------------+-------+---------+
SQL语句不区分大小写,但是过滤数据时,数据区分大小写。
SELECT name,url,alexa,country FROM websites where country <> 'usa';
+----------+---------------------------+-------+---------+
| name | url | alexa | country |
+----------+---------------------------+-------+---------+
| Google | https://www.google.cm/ | 1 | USA |
| Taobao | https://www.taobao.com/ | 13 | CN |
| Xuexi | http://www.xxx.cn | 888 | xxx |
| Weibo | http://weibo.com/ | 20 | CN |
| Facebook | https://www.facebook.com/ | 1 | USA |
+----------+---------------------------+-------+---------+
范围值检查
查询alexa列在10~20之间的数据。
SELECT name,url,alexa,country FROM websites where alexa between 10 and 20;
+--------+-------------------------+-------+---------+
| name | url | alexa | country |
+--------+-------------------------+-------+---------+
| Taobao | https://www.taobao.com/ | 13 | CN |
| Weibo | http://weibo.com/ | 20 | CN |
+--------+-------------------------+-------+---------+
空值检查
由于name列没有空值,所以未返回结果。
SELECT name,url,alexa,country FROM websites where name is null;
Empty set (0.00 sec)
随便添加一列有空值的数据再一次查询(空值时没有数值,而不是0)
SELECT name,url,alexa,country FROM websites where name is null;
+------+------+-------+---------+
| name | url | alexa | country |
+------+------+-------+---------+
| NULL | NULL | 50 | NULL |
+------+------+-------+---------+
这样就查询到空值了。
以上是关于SQL学习04——过滤数据的主要内容,如果未能解决你的问题,请参考以下文章