SAP HANA - Biểu thức SQL
Một biểu thức được sử dụng để đánh giá một mệnh đề để trả về giá trị. Có các biểu thức SQL khác nhau có thể được sử dụng trong HANA -
- Biểu thức trường hợp
- Biểu thức hàm
- Biểu thức tổng hợp
- Truy vấn con trong Biểu thức
Biểu thức trường hợp
Điều này được sử dụng để chuyển nhiều điều kiện trong một biểu thức SQL. Nó cho phép sử dụng logic IF-ELSE-THEN mà không cần sử dụng các thủ tục trong câu lệnh SQL.
Thí dụ
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;
Câu lệnh này sẽ trả về count1, count2, count3 với giá trị nguyên theo điều kiện được truyền.
Biểu thức hàm
Biểu thức hàm liên quan đến các hàm có sẵn trong SQL được sử dụng trong Biểu thức.
Biểu thức tổng hợp
Các hàm tổng hợp được sử dụng để thực hiện các phép tính phức tạp như Sum, Percentage, Min, Max, Count, Mode, Median, v.v ... Aggregate Expression sử dụng các hàm Aggregate để tính giá trị đơn lẻ từ nhiều giá trị.
Aggregate Functions- Tổng, Đếm, Tối thiểu, Tối đa. Những điều này được áp dụng trên các giá trị đo lường (sự kiện) và Nó luôn được kết hợp với một thứ nguyên.
Các hàm tổng hợp phổ biến bao gồm:
- Trung bình cộng ()
- Đếm ()
- Tối đa ()
- Trung bình ()
- Tối thiểu ()
- Chế độ ()
- Tổng ()
Truy vấn con trong Biểu thức
Truy vấn con dưới dạng biểu thức là một câu lệnh Chọn. Khi nó được sử dụng trong một biểu thức, nó sẽ trả về một giá trị không hoặc một giá trị duy nhất.
Một truy vấn con được sử dụng để trả về dữ liệu sẽ được sử dụng trong truy vấn chính như một điều kiện để hạn chế hơn nữa dữ liệu được truy xuất.
Truy vấn con có thể được sử dụng với các câu lệnh SELECT, INSERT, UPDATE và DELETE cùng với các toán tử như =, <,>,> =, <=, IN, BETWEEN, v.v.
Có một số quy tắc mà các truy vấn con phải tuân theo:
Truy vấn con phải được đặt trong dấu ngoặc đơn.
Một truy vấn con chỉ có thể có một cột trong mệnh đề SELECT, trừ khi có nhiều cột trong truy vấn chính để truy vấn con so sánh các cột đã chọn của nó.
Không thể sử dụng ORDER BY trong truy vấn con, mặc dù truy vấn chính có thể sử dụng ORDER BY. GROUP BY có thể được sử dụng để thực hiện chức năng tương tự như ORDER BY trong một truy vấn con.
Truy vấn con trả về nhiều hơn một hàng chỉ có thể được sử dụng với nhiều toán tử giá trị, chẳng hạn như toán tử IN.
Danh sách CHỌN không được bao gồm bất kỳ tham chiếu nào đến các giá trị đánh giá thành BLOB, ARRAY, CLOB hoặc NCLOB.
Một truy vấn con không thể được bao ngay trong một hàm tập hợp.
Toán tử GIỮA không thể được sử dụng với một truy vấn con; tuy nhiên, toán tử BETWEEN có thể được sử dụng trong truy vấn con.
Truy vấn con với câu lệnh SELECT
Truy vấn con được sử dụng thường xuyên nhất với câu lệnh SELECT. Cú pháp cơ bản như sau:
Thí dụ
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 |
+----+----------+-----+---------+----------+