本文分享《SQL必知必会(第5版)》第三章至第五章的学习笔记。

其他相关分享详见下表:
| 6、SQL必知必会(第5版)学习笔记1 |
| 5、如何配置MySQL的环境变量以及为什么要配置? |
| 4、如何验证是否已成功安装了MySQL?适合小白的详细图文教程 |
| 3、如何安装MySQL?适合小白的详细图文教程~ |
| 2、如何免费下载并安装Visual Studio 2019?适合小白的详细图文教程~ |
| 如何免费下载MySQL?适合小白的详细图文教程~ |
第三章排序检索数据
SQL语句
Select…
from…
order by…
例子1-对prod_name列以字母顺序排序
| 默认排序 | 排序后 |
|
|
注意:
①Order by 必须为Select语句中最后一条子句,否则会出错;
②Order by 使用非检索列进行排序也是可以的。
比如例子1中检索列是prod_name,排序列也可以是prod_id。
例子2-按多个列排序-检索prod_id、prod_name、prod_price,然后先按prod_price、再按prod_name进行排序。

例子3-按照列位置进行排序-比如例子2也可以写成

注意:
使用select选中的列位置进行排序有几个缺陷:
①可能选错位置;
②对select目标进行更改时可能会忘记修改order by位置;
③没法使用非检索列进行排序。
例子4-降序排列- 对prod_price按照从高到低进行排序。

注意:
①升序asc,降序desc;
②默认是升序排列,所以一般用不上asc;
③desc关键字只应用到直接位于其前面的列名。如果想在多个列上进行降序排序,必须对每一列指定DESC关键字。
第四章过滤数据&第五章高级数据过滤
SQL语句
Select…
from…
where…
过滤数据是个啥?好拗口。
中翻中一下,本章就是讲指定搜索条件搜索出想要的结果,反过来讲就是把不需要的结果都过滤掉。
说明:
1、where子句紧随from子句,同时使用orderby 和 where子句时,先写where子句,再写order by 子句。
(原因详见:第二章——例子1——注意①)
2、where子句操作符

3、SQL语句 –限定范围检索
Select…
from…
where…between …and…
4、SQL语句 –空值检索
Select…
from…
where…Is NULL…
5、SQL 语句 –where 语句组合方式
中翻中说明:
①where语句叠加逻辑链接词进行组合,可简单理解为数学集合概念中的“且、或、含、非”;
②圆括号优先计算,相当于数学中的计算顺序,比如先乘除后加减。
语句 | 释义 |
Select… from… where…条件1 and 条件2 | 且,从某张表中搜索同时满足条件1和条件2的数据 |
Select… from… where…条件1 or 条件2 | 或,从某张表中搜索满足条件1或条件2的数据 |
Select… from… where…(条件1 or 条件2) and 条件3 | ()计算顺序:从某张表中搜索满足条件1或条件2的数据,然后输出同时满足条件3的数据结果 |
Select… from… where…in(a1,a2,a3) | 或,功能与or相当,优点是列示更清晰;计算顺序更易管理;求值更快;可以包含其他select语句。 |
Select… from… where not… order by… | Not 否定其后跟的任何条件; Not从不单独使用; 复杂语句中更显优势,比如与In联合使用。 |
例子1-检索prod_price=3.49的条目

例子2-检索prod_price<=6的条目

例子3-列出所有不是供应商DLL01制造的产品

注意:单引号可以用来限定字符串。
例子4-使用Between…and…检索价格在5美元和10美元之间的所有产品。

例子5-使用Is NULL进行空值检索-找出邮件地址为空值的客户

注意:
NULL无值(no value),它与字段包含0、空字符串或仅仅包含空格不同。
例子6-where…条件1 and 条件2-查找供应商DLL01生产并且价格≤4美元的产品名称及价格。

例子7-where…条件1 or 条件2-

例子8-where…(条件1 or 条件2) and 条件3

例子9- where…in(a1,a2,a3)

例子10- where not…列出除DLL01以外所有生产商生产的产品。







