SAP HANA - wyrażenia SQL

Wyrażenie służy do oceny klauzuli w celu zwrócenia wartości. Istnieją różne wyrażenia SQL, których można używać w HANA -

  • Wyrażenia wielkości liter
  • Wyrażenia funkcyjne
  • Wyrażenia agregujące
  • Podzapytania w wyrażeniach

Wyrażenie wielkości liter

Służy do przekazywania wielu warunków w wyrażeniu SQL. Pozwala na użycie logiki IF-ELSE-THEN bez stosowania procedur w instrukcjach SQL.

Przykład

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;

Ta instrukcja zwróci count1, count2, count3 z wartością całkowitą zgodnie z przekazanym warunkiem.

Wyrażenia funkcyjne

Wyrażenia funkcyjne obejmują wbudowane funkcje SQL, które mają być używane w wyrażeniach.

Wyrażenia agregujące

Funkcje agregujące służą do wykonywania złożonych obliczeń, takich jak Suma, Procent, Min, Max, Liczba, Tryb, Mediana itp. Funkcja Aggregate Expression używa funkcji agregujących do obliczania pojedynczej wartości z wielu wartości.

Aggregate Functions- Suma, liczba, minimum, maksimum. Są one stosowane do wartości miar (faktów) i są zawsze związane z wymiarem.

Typowe funkcje agregujące obejmują -

  • Średnia ()
  • Liczba ()
  • Maksymalna ()
  • Mediana ()
  • Minimalna ()
  • Tryb ()
  • Suma ()

Podzapytania w wyrażeniach

Podzapytanie jako wyrażenie to instrukcja Select. Gdy jest używany w wyrażeniu, zwraca zero lub pojedynczą wartość.

Podzapytanie służy do zwracania danych, które zostaną użyte w zapytaniu głównym jako warunek dalszego ograniczenia pobieranych danych.

Podzapytań można używać z instrukcjami SELECT, INSERT, UPDATE i DELETE wraz z operatorami takimi jak =, <,>,> =, <=, IN, BETWEEN itp.

Istnieje kilka zasad, których muszą przestrzegać podzapytania -

  • Podzapytania muszą być zawarte w nawiasach.

  • Podzapytanie może mieć tylko jedną kolumnę w klauzuli SELECT, chyba że w głównym zapytaniu dla podzapytania znajduje się wiele kolumn w celu porównania wybranych kolumn.

  • ORDER BY nie może być użyte w podzapytaniu, chociaż główne zapytanie może używać ORDER BY. Funkcji GROUP BY można użyć do wykonania tej samej funkcji, co ORDER BY w podzapytaniu.

  • Podkwerendy, które zwracają więcej niż jeden wiersz, mogą być używane tylko z wieloma operatorami wartości, takimi jak operator IN.

  • Lista SELECT nie może zawierać żadnych odniesień do wartości, których wynikiem jest BLOB, ARRAY, CLOB lub NCLOB.

  • Podzapytania nie można od razu zamknąć w funkcji zestawu.

  • Operator BETWEEN nie może być używany z podzapytaniem; jednak operator BETWEEN może być używany w podzapytaniu.

Podzapytania z instrukcją SELECT

Podkwerendy są najczęściej używane z instrukcją SELECT. Podstawowa składnia jest następująca -

Przykład

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 |
+----+----------+-----+---------+----------+