暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL学习笔记 Chapter3:数据过滤

Yuan的学习笔记 2022-06-02
262



数据过滤

WHERE子句

SELECT
语句中,数据根据WHERE
子句指定的搜索条件进行过滤。

NOTE:在同时使用ORDER BY
WHERE
子句时,ORDER BY
应位于WHERE
后,否则会产生错误

e.g.

SELECT
语句从products表中检索两个列,但只返回prod_price大于5的行。

输入

SELECT prod_name, prod_price
FROM products
WHERE prod_price > 5;

输出


WHERE子句操作符

MySQL支持下面表列出的所有条件操作符

操作符说明
=等于
<>不等于
!=不等于
<小于
<=小于等于
>大于
>=大于等于
BETWEEN在指定两个值之间


空值检查

空值NULL
就是没有值,但0、空字符串或空格并不是空值哦。

SELECT
有特殊的WHERE
子句来检查具有NULL
值的列。

e.g.

下面的语句会返回没有产品价格prod_price的所有产品prod_name。

输入

SELECT prod_name
FROM products
WHERE prod_price IS NULL;


组合WHERE子句

操作符(operator):用来联结或改变WHERE
子句中的子句的关键字

AND操作符

e.g.

SELECT
语句从products表中检索3个列,但只返回vend_id = 'DLL01'并且prod_price小于10的行。

输入

SELECT prod_id, prod_price, prod_name
FROM products
WHERE vend_id = 'DLL01' AND prod_price < 10;

输出


OR操作符

e.g.

SELECT
语句从products表中检索3个列,但只返回vend_id = 'DLL01'或者prod_price小于10的行。

输入

SELECT prod_id, prod_price, prod_name
FROM products
WHERE vend_id = 'DLL01' OR prod_price < 10;

输出


IN操作符

IN
操作符用来指定条件范围。

IN操作符的优点:

  • IN操作符语法更清楚且直观
  • IN操作符一般比OR操作符更快
  • IN最大的优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句

下面直接看例子吧。

e.g.

SELECT
语句从products表中检索供应商vend_id为'DLL01'和 'BRS01'的产品。

输入

SELECT vend_id, prod_id, prod_price, prod_name
FROM products
WHERE vend_id IN ('DLL01''BRS01')
ORDER BY vend_id;

输出


NOT操作符

NOT
操作符用于否定它之后所跟的任何条件

e.g.

这个例子可以和上面的做对比。

输入

SELECT vend_id, prod_id, prod_price, prod_name
FROM products
WHERE vend_id NOT IN ('DLL01''BRS01')
ORDER BY vend_id;

输出

嗯,这篇就这样吧,BYE-BYE!

-END-




往期回顾


SQL学习笔记 Chapter2:排序数据


文章转载自Yuan的学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论