文章目录
前言
第一章:SQL 核心
主要讲SQL语言中5个重要的SQL语句
一、5个重要的SQL
主要包括SELECT、INSERT、UPDATE、DELETE、MERGE。
1、SELECT
1.1 作用
主要用来从一个或多个表、或其它数据库对象中提取数据。注意点:
(1) 查询效率 --如何写出符合优化器执行规则的SQL
(2) 理解执行逻辑
1.2 子句
1.2.1 FROM子句
列出查询数据的源对象,该子句可以包含表、视图、物化视图、分区或子分区或者子查询。注意源对象为多个时,其联接关系和谓词执行逻辑。
1.2.2 WHERE子句
按照条件来限制返回的结果集的行数。
1.2.3 GROUP BY子句
对from子句和where子句得到的结果集进行聚合,查询出来的结果按照group by 的表达式进行分组,为每个分组得出一行汇总结果。
注意:
(1)select 列表中的任何非聚合字段都必须包含在group by的表达式中。
(2) group by 子句还可以包含 rollup 和cube两个附加运算。rollup运算用来产生部分求和值,cube运算用来求得交互分类值。
1.2.4 HAVING子句
用于限定分组汇总后的查询结果为该子句表达式结果为真的数据行。
1.2.5 ORDER BY子句
用于对最终结果集进行排序。注意:
(1) 在其他子句全部执行完毕后执行。
(2) 较小的结果集会在内存中进行排序,而较大的排序则会使用临时磁盘空间进行。因此,排序整体来说是查询过程中开销相当大的一个处理步骤,谨慎使用(尽可能的限制结果集到最小)。
2、INSERT
2.1 作用
用来向表、分区或视图中添加行。可以向单表、也可以向多表中插入数据。单表插入可以显示插入,也可以通过子查询插入。多表插入注意两个语法点(有条件插入):
(1) insert all --所有when都要判断
(2) insert first --只判断第一个when
3、UPDATE
3.1 作用
更新原表中的某些列值。
4、DELETE
4.1 作用
从源表中移除数据行。与where搭配使用。
注意:生产库中,先用select * from table where 条件确认待删除的数据,再进行移除。且谨慎使用无条件约束的delete语句。
5、MERGE
5.1 作用
总结
展示了常用SQL的作用及注意点。