hql常见操作

1 with…as…

https://www.jianshu.com/p/d518e9f5d5f9

1 好处

​ a. 提高代码可读性

​ 结构清晰

​ b. 优化执行速度

​ 子查询结果存在内存中,不需要重复计算

2 用法

1
with table_name as(子查询语句) 其他sql;
1
2
3
4
with temp as (
select * from xxx
)
select * from temp;

2 视图

与基本表不同,它是一个虚表。在数据库中,存放的只是视图的定义,而不存放视图包含的数据项,这些项目仍然存放在原来的基本表结构中。

视图是只读的,不能向视图中插入或加载或改变数据

作用:

1 便捷

通过引入视图机制,用户可以将注意力集中在其关心的数据上(而非全部数据),这样就大大提高了用户效率与用户满意度,而且如果这些数据来源于多个基本表结构,或者数据不仅来自于基本表结构,还有一部分数据来源于其他视图,并且搜索条件又比较复杂时,需要编写的查询语句就会比较烦琐,此时定义视图就可以使数据的查询语句变得简单可行。

2 安全

定义视图可以将表与表之间的复杂的操作连接和搜索条件对用户不可见,用户只需要简单地对一个视图进行查询即可,故增加了数据的安全性,但不能提高查询效率。

创建

1
2
3
4
5
6
7
8
CREATE VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT table_comment]
AS SELECT ...

hive> CREATE VIEW emp_30000 AS
> SELECT * FROM employee
> WHERE salary>30000;

删除

1
DROP VIEW view_name

:D 一言句子获取中...