hive、mysql別名的使用問題


sql的書寫順序

1 SELECT DISTINCT <select_list>
2 FROM <left_table>
3 <join_type> JOIN <right_table>
4 ON <join_condition>
5 WHERE <where_condition>
6 GROUP BY <group_by_list>       --mysql從此開始可以使用select中的別名
7 HAVING <having_condition>    --hive從此開始可以使用select中的別名
8 ORDER BY <order_by_condition>
9 LIMIT <limit_number>

sql的底層執行順序

 1 (7)     SELECT 
 2 (8)     DISTINCT <select_list>
 3 (1)     FROM <left_table>
 4 (3)     <join_type> JOIN <right_table>
 5 (2)     ON <join_condition>
 6 (4)     WHERE <where_condition>
 7 (5)     GROUP BY <group_by_list>
 8 (6)     HAVING <having_condition>
 9 (9)     ORDER BY <order_by_condition>
10 (10)    LIMIT <limit_number>

 

一、Mysql中別名的使用位置

select子句中的別名的使用,在group by及后面可使用。

from子句中的表別名的使用,在where及后面可使用。

二、hive sql中別名的使用位置

having及后面可以使用。

在order by排序時,必須使用別名,不能使用表達式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM