Impala查询

1、查询表中的记录,基本语法:

SELECT c1,c2 | * FROM table_name;

查询emp表中记录:

SELECT * FROM emp;
or
SELECT name,age FROM emp;

执行结果如下:
Impala查询_第1张图片
2、对查询结果进行排序,基本语法如下:

SELECT * FROM table_name ORDER BY c1,… [ASC|DESC] [NULLS FIRST|NULLS LAST]

ORDER BY 字句根据一列或多列对查询结果进行排序,先从第一列排序,第一列相同按第二列进行排序,以此类推,默认情况为ASC升序排列。NULLS选项是设置NULL值在前还是在后。
3、对查询结果进行分组展示,基本语法如下:

SELECT * FROM table_name GROUP BY c1,…;

将查询结果根据列分组,得到的c1列是唯一的。
4、过滤查询结果,基本语法如下:

SELECT * FROM table_name GROUP BY c1,… HAVING XXXX;

HAVING 字句跟GROUP BY 字句一起使用,过滤指定的数据。
5、限制查询,基本语法:

SELECT * FROM table_name LIMIT NUM;

LIMIT 后的NUM的意思是限制查询结果,只返回NUM条数据集。
6、偏移查询,基本语法:

SELECT * FROM table_name OFFSET NUM;

根据查询结果,从NUM行开始显示结果集。可以与LIMIT结合使用,查询某一范围内的集合:

SLELECT * FROM table_name LIMIT NUM1 OFFSET NUM2;

7、组合查询,基本语法:

SELECT * FROM t1
UNION
SELECT * FROM t2;

UNION字句是组合两个查询结果,两个查询结果列数必须相等。
8、唯一查询,基本语法:

SELECT DISTINCT c1,… FROM table_name;

根据列c1进行唯一查询,如果c1列中存在重复记录,则只显示一条。
9、复杂查询,基本语法:

with x as (select 1),y as (select 2)(select * from x union y);

例如:

with t1 as (select name from emp), 
t2 as (select name from emp_n_a) 
(select * from t1 union select * from t2);

你可能感兴趣的:(impala)