语法
SELECT [ALL | DISTINCT] select_expr, select_expr, … FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_list] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list] ] [LIMIT number]
基本查询示例1: 示例2:
示例3:
示例4:
示例:
说明:
- LIKE模糊查询,匹配条件可以包含字符或数字:
- % 代表零个或多个字符(任意个字符)。
- _ 代表一个字符。
- RLIKE子句是Hive中模糊查询功能的一个扩展,它可以通过Java的正则表达式指定匹配条件。
示例:
示例:
示例:
having和where的区别:
- where针对表中的列发挥作用,查询数据;having针对查询结果中的列发挥作用,筛选数据。
- where后面不能写分组函数,而having后面可以使用分组函数。
- having只用于group by分组统计语句。 示例:
Hive只支持等值连接,不支持非等值连接。 示例:内连接
示例:左外连接:JOIN操作符左边表中符合WHERE子句的所有记录将会被返回。
示例:右外连接:JOIN操作符右边表中符合WHERE子句的所有记录将会被返回。
示例:满外连接:将会返回所有表中符合WHERE语句条件的所有记录。如果任一表的指定字段没有符合条件的值的话,那么就使用NULL值替代。