zoukankan      html  css  js  c++  java
  • [HIve

    Subqueries in the FROM Clause

    SELECT ... FROM (subquery) name ...
    SELECT ... FROM (subquery) AS name ...   (Note: Only valid starting with Hive 0.13.0)

    Hive supports subqueries only in the FROM clause (through Hive 0.12). The subquery has to be given a name because every table in a FROM clause must have a name. Columns in the subquery select list must have unique names. The columns in the subquery select list are available in the outer query just like columns of a table. The subquery can also be a query expression with UNION. Hive supports arbitrary levels of subqueries.

    The optional keyword "AS" can be included before the subquery name in Hive 0.13.0 and later versions (HIVE-6519).

    Example with simple subquery:

    SELECT col
    FROM (
      SELECT a+b AS col
      FROM t1
    ) t2

    Example with subquery containing a UNION ALL:

    SELECT t3.col
    FROM (
      SELECT a+b AS col
      FROM t1
      UNION ALL
      SELECT c+d AS col
      FROM t2
    ) t3

    Subqueries in the WHERE Clause

    As of Hive 0.13 some types of subqueries are supported in the WHERE clause. Those are queries where the result of the query can be treated as a constant for IN and NOT IN statements (called uncorrelated subqueries because the subquery does not reference columns from the parent query):

    SELECT *
    FROM A
    WHERE A.a IN (SELECT foo FROM B);

    The other supported types are EXISTS and NOT EXISTS subqueries:

    SELECT A
    FROM T1
    WHERE EXISTS (SELECT FROM T2 WHERE T1.X = T2.Y)

    There are a few limitations:

    • These subqueries are only supported on the right-hand side of an expression.
    • IN/NOT IN subqueries may only select a single column.
    • EXISTS/NOT EXISTS must have one or more correlated predicates.
    • References to the parent query are only supported in the WHERE clause of the subquery.
    谨言慎行,专注思考 , 工作与生活同乐
  • 相关阅读:
    使用Linq 更新数据库时遇到的一些问题及解决办法
    Asp.net 初级面试(转)
    jQuery设计思想
    WinCE BSP的BIB文件介绍
    团队管理经验(转)
    35岁以前成功的9大好习惯
    早起的十个好处,以及如何做到早起
    男人魅力的九个方面
    SQL优化34条(转)
    深入理解Javascript闭包(closure)
  • 原文地址:https://www.cnblogs.com/tmeily/p/4249872.html
Copyright © 2011-2022 走看看