大家好,欢迎来到IT知识分享网。
1、对表起别名
1.1 使用 as
有时候,在对数据库中的表进行操作的时候,发现表名比较冗长,这时候我们就需要对表创建一个别名,别名的关键字为as(也可以不加)
。
select a.Sno,a.Sname,a.Sage from student as a --- select a.Sno,a.Sname,a.Sage from student a (as可以去掉)
我们就对student取了一个别名叫做a
1.2 使用 WITH … AS … 语句增强 SQL 查询的可读性
因为业务比较复杂,所以大家经常会用到各种子查询(sub-query)。于是会写成类似这样:
SELECT t1.foo, t1.bar, t2.baz FROM ( SELECT foo, bar FROM tb1 WHERE <conditions> ) AS t1 INNER JOIN ( SELECT baz FROM tb2 WHERE <conditions> ) AS t2 ON <conditions> WHERE <conditions>;
这样写子查询会有两个问题:
- 一是子查询的结果如果要在多个不同地方用到,那么就要复制粘贴多次,实际执行的时候也可能执行多次。
- 二是当子查询 或/和 JOIN 特别多的时候,整个查询就会变得无比复杂,可读性极差。
为解决问题,可用视图(VIEW)解决,也可用 WITH ... AS ... 子句来解决
。WITH <temprary_table_name> AS (SELECT ... FROM <table_name> WHERE <conds>) 和视图类似,可以创建一个临时表,供之后使用
。按上述例子,改用 WITH … AS … 子句可以写成这样:
WITH t1 AS ( SELECT foo, bar FROM tb1 WHERE <conditions> ), t2 AS ( SELECT baz FROM tb2 WHERE <conditions> ) SELECT t1.foo, t1.bar, t2.baz FROM t1 INNER JOIN t2 ON <conditions> WHERE <conditions>;
https://liam.page/2020/03/13/the-WITH-AS-clause-in-Hive-SQL/
2、对字段起别名
更改后:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/156420.html