Hive 语句复习
1、union 和 union all 的区别
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
(union是可以自己排序的哦,根据select后第一个属性)
2、regexp_extract(string subject, string pattern, int index)
将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。
第一参数: 要处理的字段
第二参数: 需要匹配的正则表达式
第三个参数:
- 0是显示与之匹配的整个字符串
 - 1 是显示第一个括号里面的
 - 2 是显示第二个括号里面的字段...
 
正则匹配字符解释:
- ^ 表示开头
 - $ 表示结尾
 - . 表示任意字符
 - * 表示任意多个
 
3、LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
在使用left jion时,on和where条件的区别如下:
(1) on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
(2)where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
                    
                
                
            
        
浙公网安备 33010602011771号