Nhà điều hành SAP HANA: Union & Liên minh tất cả

Anonim

Toán tử SAP HANA có thể được sử dụng để tính toán, so sánh giá trị hoặc để gán giá trị. SAP HANA Chứa các toán tử bên dưới-

Toán tử đơn phân và nhị phân

Toán tử số học

Toán tử chuỗi

Toán tử so sánh

Toán tử logic

Đặt toán tử

Toán tử đơn phân và nhị phân

Nhà điều hành Hoạt động Sự miêu tả
Đơn nguyên Toán tử một ngôi áp dụng cho một toán hạng Toán tử cộng một bậc (+) Toán tử phủ định một bậc (-) Phủ định logic (KHÔNG)
Nhị phân Toán tử nhị phân áp dụng cho hai toán hạng Toán tử nhân (*, /) Toán tử cộng (+, -) Toán tử so sánh (=,! =, <,>, <=,> =) Toán tử logic (AND, OR)

Toán tử số học

  • Phép cộng (+)
  • Phép trừ (-)
  • Phép nhân ( * )
  • Bộ phận (/)

Toán tử chuỗi

Toán tử chuỗi là một toán tử nối kết hợp hai mục như chuỗi, biểu thức hoặc hằng số thành một.

Hai thanh dọc "||" được sử dụng làm toán tử nối.

Toán tử so sánh

Toán tử so sánh được sử dụng để so sánh hai toán hạng. Dưới đây là danh sách Nhà điều hành so sánh-

  • Bằng (=)
  • Lớn hơn (>)
  • Ít hơn (<)
  • Lớn hơn hoặc bằng (> =)
  • Nhỏ hơn hoặc bằng (<=)
  • Không bằng (! =, <>)

Toán tử logic

Toán tử logic được sử dụng trong tiêu chí tìm kiếm.

Ví dụ: điều kiện WHERE1 VÀ / HOẶC / KHÔNG điều kiện2

Dưới đây là danh sách toán tử logic -

  • VÀ - (ví dụ điều kiện WHERE1 VÀ điều kiện2)

    Nếu cả Điều kiện1 VÀ Điều kiện2 đều đúng, thì điều kiện Kết hợp là đúng, nếu không điều kiện sẽ sai.

  • HOẶC - (ví dụ: điều kiện WHERE1 HOẶC điều kiện2)

    Nếu Điều kiện 1 HOẶC Điều kiện 2 là đúng, thì điều kiện kết hợp là đúng hoặc sai nếu cả hai Điều kiện đều sai.

  • NOT - (ví dụ điều kiện WHERE NOT)

    Điều kiện KHÔNG đúng Nếu Điều kiện sai.

Đặt toán tử

  • UNION - Kết hợp hai hoặc nhiều câu lệnh hoặc truy vấn chọn lọc mà không trùng lặp.
  • UNION ALL - Kết hợp hai hoặc nhiều câu lệnh hoặc truy vấn chọn lọc, bao gồm tất cả các hàng trùng lặp.
  • INTERSECT - Kết hợp hai hoặc nhiều câu lệnh hoặc truy vấn được chọn và trả về tất cả các hàng chung.
  • NGOẠI LỆ - Lấy đầu ra từ truy vấn đầu tiên và xóa hàng được chọn bởi truy vấn thứ hai.

Ví dụ

Tôi có hai bảng (table1, table2) trong đó một số giá trị là phổ biến.

Chúng tôi sử dụng toán tử Set (Union, Union ALL, Intersect, ngoại trừ) cho hai bảng này trong SQL như bên dưới:

Tạo Table1- Tập lệnh SQL

CREATE COLUMN TABLE DHK_SCHEMA.TABLE1( ELEMENT CHAR(1),PRIMARY KEY (ELEMENT));INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('P');INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('Q');INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('R');INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('S');INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('T');

Tạo Table2- Tập lệnh SQL

CREATE COLUMN TABLE DHK_SCHEMA.TABLE2( ELEMENT CHAR(1),PRIMARY KEY (ELEMENT));INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('S');INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('T');INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('U');INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('V');INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('W');

Lưu ý : Ở đây "DHK_SCHEMA" là tên lược đồ, người dùng có thể thay đổi tên lược đồ trong SQL cho phù hợp.

Ví dụ về toán tử đặt như sau:

Nhà điều hành Truy vấn SQL Đầu ra Sử dụng
LIÊN HIỆP CHỌN * TỪ (SELECT ELEMENT TỪ DHK_SCHEMA.TABLE1 UNION SELECT ELEMENT TỪ DHK_SCHEMA.TABLE2 ) TRÌNH TỰ DO ELEMENT;

Kết hợp Kết quả của hai hoặc nhiều truy vấn không trùng lặp.
ĐOÀN KẾT TẤT CẢ CHỌN * TỪ ( CHỌN ELEMENT TỪ DHK_SCHEMA.TABLE1 union all select ELEMENT TỪ DHK_SCHEMA.TABLE2) ORDER BY ELEMENT;

Kết hợp Kết quả của hai hoặc nhiều truy vấn với tất cả các truy vấn trùng lặp.
GIAO NHAU SELECT * FROM ( SELECT ELEMENT FROM DHK_SCHEMA.TABLE1 INTERSECT SELECT ELEMENT FROM DHK_SCHEMA.TABLE2) ORDER BY ELEMENT;

Kết hợp Kết quả của hai hoặc nhiều truy vấn với tất cả các hàng chung.
NGOẠI TRỪ CHỌN * TỪ ( CHỌN ELEMENT TỪ DHK_SCHEMA.TABLE1 TRỪ CHỌN ELEMENT TỪ DHK_SCHEMA.TABLE2) ORDER BY ELEMENT;

Lấy đầu ra từ truy vấn đầu tiên và xóa hàng được chọn bởi truy vấn thứ hai