一图总结sql语言的最常用知识
一, 五大类sql语言
DDL Data Definition Language, 数据定义语言,
用于定义不同的数据字段、数据库、表、列、索引。如:create、drop、alter等
DML Data Manipulation Language,数据操作语言,
用于添加、删除、修改、查询数据的完整性。如:insert、 update 、 delete 等
DQL Data Query Language,数据查询语言,
用于查询数据库中的记录。如:select
DCL Data Control Language,数据控制语言,
用于控制不同数据库中字段值的许可和说级别等。如:grant、 invoke 等
TCL Transaction Control Language, 事务控制语言,
主要用来控制事务。例如:COMMIT、ROLLBACK等
二,窗口函数与普通函数的区别?
窗口函数的功能:主要对查询得到的结果集再进行操作,
它的特点:同时具有分组和排序功能,
例如:对结果集分组后再排序
对结果集分组后排序取top N等
它和group by的不同:group by分组后是每组一条记录,
而窗口函数不改变结果集的行数
DDL Data Definition Language, 数据定义语言,
用于定义不同的数据字段、数据库、表、列、索引。如:create、drop、alter等
DML Data Manipulation Language,数据操作语言,
用于添加、删除、修改、查询数据的完整性。如:insert、 update 、 delete 等
DQL Data Query Language,数据查询语言,
用于查询数据库中的记录。如:select
DCL Data Control Language,数据控制语言,
用于控制不同数据库中字段值的许可和说级别等。如:grant、 invoke 等
TCL Transaction Control Language, 事务控制语言,
主要用来控制事务。例如:COMMIT、ROLLBACK等
二,窗口函数与普通函数的区别?
窗口函数的功能:主要对查询得到的结果集再进行操作,
它的特点:同时具有分组和排序功能,
例如:对结果集分组后再排序
对结果集分组后排序取top N等
它和group by的不同:group by分组后是每组一条记录,
而窗口函数不改变结果集的行数