
- SAP HANA 教程
- SAP HANA - 首頁
- SAP HANA 簡介
- SAP HANA - 概述
- 記憶體計算引擎
- SAP HANA - Studio
- Studio 管理檢視
- SAP HANA - 系統監控器
- SAP HANA - 資訊建模器
- SAP HANA - 核心架構
- SAP HANA 建模
- SAP HANA - 建模
- SAP HANA - 資料倉庫
- SAP HANA - 表格
- SAP HANA - 包
- SAP HANA - 屬性檢視
- SAP HANA - 分析檢視
- SAP HANA - 計算檢視
- SAP HANA - 分析許可權
- SAP HANA - 資訊組合器
- SAP HANA - 匯出和匯入
- SAP HANA 安全性
- SAP HANA - 安全概述
- 使用者管理與維護
- SAP HANA - 身份驗證
- SAP HANA - 授權方法
- SAP HANA - 許可證管理
- SAP HANA - 審計
- SAP HANA 資料複製
- SAP HANA - 資料複製概述
- SAP HANA - 基於 ETL 的複製
- SAP HANA - 基於日誌的複製
- SAP HANA - DXC 方法
- SAP HANA - CTL 方法
- SAP HANA - MDX 提供程式
- SAP HANA SQL
- SAP HANA - SQL 概述
- SAP HANA - 資料型別
- SAP HANA - SQL 運算子
- SAP HANA - SQL 函式
- SAP HANA - SQL 表示式
- SAP HANA - SQL 儲存過程
- SAP HANA - SQL 序列
- SAP HANA - SQL 觸發器
- SAP HANA - SQL 同義詞
- SAP HANA - SQL 解釋計劃
- SAP HANA - SQL 資料分析
- SAP HANA - SQL 指令碼
- SAP HANA 有用資源
- SAP HANA - 問答
- SAP HANA - 快速指南
- SAP HANA - 有用資源
- SAP HANA - 討論
SAP HANA - SQL 表示式
表示式用於計算一個子句以返回值。HANA 中可以使用不同的 SQL 表示式 -
- Case 表示式
- 函式表示式
- 聚合表示式
- 表示式中的子查詢
Case 表示式
這用於在 SQL 表示式中傳遞多個條件。它允許在 SQL 語句中使用 IF-ELSE-THEN 邏輯,而無需使用過程。
示例
SELECT COUNT( CASE WHEN sal < 2000 THEN 1 ELSE NULL END ) count1, COUNT( CASE WHEN sal BETWEEN 2001 AND 4000 THEN 1 ELSE NULL END ) count2, COUNT( CASE WHEN sal > 4000 THEN 1 ELSE NULL END ) count3 FROM emp;
此語句將根據傳遞的條件返回具有整數值的 count1、count2、count3。
函式表示式
函式表示式涉及在表示式中使用的 SQL 內建函式。
聚合表示式
聚合函式用於執行復雜的計算,如總和、百分比、最小值、最大值、計數、眾數、中位數等。聚合表示式使用聚合函式從多個值計算單個值。
聚合函式 - 總和、計數、最小值、最大值。這些應用於度量值(事實),並且始終與維度相關聯。
常見的聚合函式包括 -
- 平均值 ()
- 計數 ()
- 最大值 ()
- 中位數 ()
- 最小值 ()
- 眾數 ()
- 總和 ()
表示式中的子查詢
作為表示式的子查詢是一個 Select 語句。當它用在表示式中時,它返回零或單個值。
子查詢用於返回將在主查詢中用作條件的資料,以進一步限制要檢索的資料。
子查詢可以與 SELECT、INSERT、UPDATE 和 DELETE 語句一起使用,以及 =、<、>、>=、<=、IN、BETWEEN 等運算子。
子查詢必須遵循一些規則 -
子查詢必須用括號括起來。
子查詢在 SELECT 子句中只能有一列,除非子查詢要比較其選定列,否則主查詢中有多列。
不能在子查詢中使用 ORDER BY,儘管主查詢可以使用 ORDER BY。GROUP BY 可以用於執行與子查詢中的 ORDER BY 相同的功能。
返回多行的子查詢只能與多值運算子(如 IN 運算子)一起使用。
SELECT 列表不能包含任何對計算結果為 BLOB、ARRAY、CLOB 或 NCLOB 的值的引用。
子查詢不能立即包含在集合函式中。
BETWEEN 運算子不能與子查詢一起使用;但是,BETWEEN 運算子可以在子查詢中使用。
帶有 SELECT 語句的子查詢
子查詢最常與 SELECT 語句一起使用。基本語法如下 -
示例
SELECT * FROM CUSTOMERS WHERE ID IN (SELECT ID FROM CUSTOMERS WHERE SALARY > 4500) ;
+----+----------+-----+---------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+---------+----------+ | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+---------+----------+