【读书笔记】【数据库】SQL必知必会

第1课 了解SQL

简单介绍了sql,和dbms,无重点。

第2课 检索数据

重点:select语句,distinct,limit,注释

1. select 语句如果没有明确排序查询结果,那么返回的数据没有特定的顺序。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。

2. 多条 SQL 语句必须用 ; (分号)分隔。

3. SQL不区分大小写

4. SQL语句分行可读性更好

5. 最好不要使用 * 这种通配符 select 表中所有的列

6. distinct 的使用。 distinct 关键字作用于所有的列,不仅仅是跟在其后的那一列。

7. limit n offset m 的使用。从 第 n 行开始的 m 行数据。(n is 0 based)

(mysql, mariaDB, SQLite 可以简化 LIMIT 4 OFFSET 3  --> LIMIT 4, 3)

8. 注释一般用 '--' 或者 '#' (单行注释) 或者 '/*  */' (多行注释)

第3课 排序检索数据

重点:order by,

1. order by 应该是 select 语句中最后一条子句; 它也可以通过没有被 select 的列进行排序 

2. 如何按照多个列排序。 需要理解的是下面列子中只有在多个行具有相同的 prod_price 值时才对产品按照 prod_name 进行排序。如果 prod_price 列中所有值都是唯一的,则不会按照 prod_name 排序。

select prod_id, prod_price, prod_name 
from Products
order by prod_price, prod_name

3. 按照列位置排序,(坦白讲我觉得这个一般不会用到)

select prod_id, prod_price, prod_name 
from Products
order by 2, 3;

select 清单中指定的选择列的相对位置排序。

第4课 过滤数据

第5课 高级过滤数据

第6课 用通配符进行过滤

第7课 创建计算字段

第8课 使用函数处理数据

第9课 汇总数据

第10课 分组数据

第11课 使用子查询

第12课 联结表

第13课 创建高级联结

第14课 组合查询

第15课 插入数据

第16课 更新和删除数据

第17课 创建和操纵表

第18课 使用视图

第19课 使用存储过程

第20课 管理事务处理

第21课 使用游标

第22课 高级SQL特性

附录

猜你喜欢

转载自www.cnblogs.com/zhangwanying/p/10009689.html