关键字: where、between、null

知识点

1、where关键字在Mysql中用于获取指定搜素条件的数据,这些条件也称之为过滤条件

2、between 为where子句的操作符,诸如 = 、<、>等符号功能类似

3、关于null 可以初步理解为它是Mysql中不确定的“值”,从根本上讲它都不是个“值”

下面给出一些案例来学习理解上述知识点

案列

where和操作符

表数据如下:

img.png 1、where 获取products表中价格等于2.5的商品名称和价格信息

SELECT prod_name, prod_price FROM products WHERE prod_price = 2.5

结果:

img_1.png

where 子句操作符:=、!=(<>)、<、>、between

2、!=和<>

获取供应商不是1003制造的产品,以下两种方式都可以

SELECT vend_id,prod_name FROM products WHERE vend_id != 1003
SELECT vend_id,prod_name FROM products WHERE vend_id <> 1003

结果:

img_2.png

3、between

获取价格在5~10的产品

SELECT prod_name,prod_price FROM products WHERE prod_price BETWEEN 5 AND 10

结果:

img_3.png

null和is null

表数据如下: img_7.png 4、null

null其实不是空也不是空值,其本质是无值,是在表数据中指定某列可以无值写入

如何获取Null所在的行数据?使用where 的is null 子句,可以比较以下两个输出 ①使用IS NULL

SELECT * FROM customers WHERE cust_email is null;

结果①: img_5.png

②使用等号

SELECT * FROM customers WHERE cust_email = null; 

结果② img_6.png

备注:在Mysql中没有报错提示,但是很显然并不能获取我们想要的信息。

如果还是没有理解Null的含义或者说is null子句的作用可以参考下面的案列 5、is null案列

找到上表中 cust_email不是'ylee@coyote.com'的数据记录 ①没有使用is null子句

SELECT * FROM customers WHERE cust_email != 'ylee@coyote.com'; --不会返回null的列

结果: img_8.png

②使用is null子句

SELECT * FROM customers WHERE cust_email != 'ylee@coyote.com' or cust_email is null;

结果: img_9.png