SQL思维导图:查询语句
其它函数:
concat_ws(‘_’,collect_set(`字段名`)):collect_set为hive内置的聚合函数,返回一个去重的对象集合,如返回“数学_语文_英语”。
SQL思维导图:DDL&DML
SQL查询:基础知识点
1、左连接、右连接、内连接、外连接
2、SQL支持三种注释:
## 注释1
— 注释2
/*注释3 */
3、LIKE支持两个通配符匹配选项:% 和 _
%表示任何字符出现任意次数
_表示任何字符出现一次
4、去重方式:
5、数据库范式
6、drop、delete与truncate的区别
drop:drop table 表名
删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。
truncate (清空表中的数据):truncate table 表名
删除内容、释放空间但不删除定义(也就是保留表的数据结构)。与drop不同的是,只是清空表数据而已。truncate不能删除行数据,虽然只删除数据,但是比delete彻底,它只删除表数据。
delete:delete from 表名 (where 列名 = 值)
与truncate类似,delete也只删除内容、释放空间但不删除定义;但是delete即可以对行数据进行删除,也可以对整表数据进行删除。
执行速度:drop>truncate>delete。
SQL查询优化
附属:SQL约束、键与索引
SQL约束用于规定表中的数据规则。
SQL约束类型:
SQL键类型:
数据库索引:
索引的区别:
l 一个表只能有一个主键索引sql语句创建外键约束sql语句创建外键约束,但是可以有多个唯一索引。
l 主键索引一定是唯一索引,唯一索引不是主键索引。
l 主键可以与外键构成参照完整性约束,防止数据不一致。
l 复合索引将多个列组合在一起创建索引,可以覆盖多个列。
l 外键索引:只有InnoDB类型的表才可使用外键索引,保证数据的一致性、完整性和级联操作(基本不用)
l 全文索引:MySQL自带的全文索引只能用于MyISAM,并且只能对英文进行全文检索 (基本不用)。