玖叶教程网

前端编程开发入门

SQL第9课~IS NULL和ORDER BY 以及LIMIT

所有内容收录在合集~SQL入门到熟练

IS NULL运算符,如何获取有缺失值的记录

没错,这个运算符就是用来专门的搜索,有缺失值的记录的。

比如打开的这个表,你会发现地址2有很多的null,是空值。

NULL意识是缺失。

那么怎么获得这些没有地址的数据呢?

直接输入就可以

SELECT *

FROM address

where address2 is null


在排序之前,先说一下为什么表格是按照最左边的单元格按顺序排列的,首先点击表的时候,会出现三个按钮,中间的像扳手一样的按钮,点击打开。

这样就打开了表的设计模式,这里可以更改,新增或者删除列,改名,调整顺序等,然后可以看到一个黄色的键,就是这个表的主键列。

在关系型数据库中,每个表都有一个主键列,这个列中的值可以唯一识别表里的记录。

ORDER by

直接输入即可排序,这个功能很鸡肋,因为直接点击表格也可以有这个效果

同样的,如果输入DESC,就会得到一个倒序的排列。

重要的是,MYSQL可以用任何列排数据,不管那一列是不是在SELECT句子中

一些在其他的数据中,会报错的数,这里依旧可以进行查询,包括表达式里的别名

LIMIT

有一群候选人,我就想选前几个出来,怎么写呢?

直接写 LIMIT3,好啦

这里增加一个概念,偏移量 offset,给数据分页的时候会十分有用。

假设有很多页的数据,只想看第4页的前3个,加入这个概念就可以了。

LIMIT 9,3,这个时候9就是我们说的偏移量。

这节课的内容说起来都很简单,最后就出一道题吧。

order_id

product_id

quantity

unit_price

7

1

2

9

7

3

3

5

7

5

4

4

一个表里有且只有id为7的项目,我们也根据每个项目的总价格进行了排序。当然你肯定知道每个项目的总价格是每个项目乘以单价,只是这个表格没有显示出来。产品1的总价格是16,假设单位是k,无所谓了。

继续写一个查询,选择所有id为7的项目,根据总价格的降序排序。

然后书写出来是这样

SELECT *

FROM order_items

WHERE order_id=7

ORDER BY quantity*unti_price DESC

总结:

用于MYSQL的句子不一定是某个列的名称,可以直接把两列进行一系列的运算,然后进行排序,也是可以的。

也就是说,既可以是别名,也可以是算数表达式。

执行查询就可以获得结果。这个时候如果想看到更清晰,完全可以手动添加一列

SELECT *,quantity*unti_price AS total price

FROM order_items

WHERE order_id=7

ORDER BY quantity*unti_price DESC

这样操作的时候,查询是重复的,所以可以对句子进行简化。

直接把最后一句的quantity*unti_price更换成total price

也可以得到一样的结果

order_id

product_id

quantity

unit_price

total_price

6

5

4

3

12

6

1

2

7

14

6

3

3

5

15

完结~

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言