我们可以使用正则表达式来选择我们想要的列。下面的查询将会从表stocks 中选择symbol列和所有列名以price 作为前缀的列:
还可以在select中进行算术运算
典型的查询会返回多行数据。LIMIT子句用于限制返回的行数
CASE ...WHEN ... THEN语句和 if条件语句类似,用于处理单个列的查询结果。
like的用法:下面3个查询依次分别选择出了住址中街道是以字符串Ave结尾的雇员名称和住址、城市是以О开头的雇员名称和住址和街道名称中包含有Chicago的雇员名称和住址:
RLIKE子句是Hive中这个功能的一个扩展,其可以通过Java的正则表达式这个更强大的语言来指定匹配条件。这里,我们通过一个例子来展示它们的用法,这个例子会从employees表中查找所有住址的街道名称中含有单词Chicago或Ontario 的雇员名称和街道信息:
关键字RLIKE后面的的字符串表达如下含义:字符串中的点号(.)表示和任意的字符匹配,星号(*)表示重复“左边的字符串”(在以上所示2个例子中为点号)零次到无数次。表达式(xly)表示和x或者y匹配。
当然,我们也可以通过2个LIKE子句来改写这个例子为如下这个样子: