SAP HANA - SQL İfadeleri
Değerleri döndürmek için bir cümleyi değerlendirmek için bir İfade kullanılır. HANA'da kullanılabilecek farklı SQL ifadeleri vardır -
- Durum İfadeleri
- İşlev İfadeleri
- Toplu İfadeler
- İfadelerde Alt Sorgular
Durum İfadesi
Bu, bir SQL ifadesindeki birden çok koşulu geçirmek için kullanılır. SQL deyimlerinde prosedürler kullanmadan IF-ELSE-THEN mantığının kullanımına izin verir.
Misal
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;
Bu ifade, geçirilen koşula göre tamsayı değeriyle count1, count2, count3 döndürür.
İşlev İfadeleri
İşlev ifadeleri, İfadelerde kullanılacak SQL dahili işlevlerini içerir.
Toplu İfadeler
Toplama işlevleri, Toplama, Yüzde, Min, Maks, Sayma, Mod, Medyan vb. Gibi karmaşık hesaplamaları gerçekleştirmek için kullanılır. Toplama İfadesi, birden çok değerden tek bir değeri hesaplamak için Toplama işlevlerini kullanır.
Aggregate Functions- Toplam, Sayım, Minimum, Maksimum. Bunlar ölçü değerlerine (gerçekler) uygulanır ve her zaman bir boyutla ilişkilendirilir.
Ortak toplama işlevleri şunları içerir -
- Ortalama ()
- Miktar ()
- Maksimum ()
- Medyan ()
- Minimum ()
- Mod ()
- Toplam ()
İfadelerde Alt Sorgular
İfade olarak alt sorgu bir Select ifadesidir. Bir ifadede kullanıldığında, sıfır veya tek bir değer döndürür.
Bir alt sorgu, alınacak verileri daha da kısıtlamak için bir koşul olarak ana sorguda kullanılacak verileri döndürmek için kullanılır.
Alt sorgular SELECT, INSERT, UPDATE ve DELETE ifadeleriyle birlikte =, <,>,> =, <=, IN, BETWEEN vb. Gibi işleçlerle kullanılabilir.
Alt sorguların uyması gereken birkaç kural vardır -
Alt sorgular parantez içine alınmalıdır.
Alt sorgunun seçili sütunlarını karşılaştırmak için ana sorguda birden çok sütun olmadığı sürece, bir alt sorgunun SELECT yan tümcesinde yalnızca bir sütun olabilir.
ORDER BY, bir alt sorguda kullanılamaz, ancak ana sorgu ORDER BY kullanabilir. GROUP BY, bir alt sorguda ORDER BY ile aynı işlevi gerçekleştirmek için kullanılabilir.
Birden fazla satır döndüren alt sorgular yalnızca, IN operatörü gibi birden çok değer operatörüyle kullanılabilir.
SEÇİM listesi, BLOB, ARRAY, CLOB veya NCLOB olarak değerlendirilen değerlere herhangi bir referans içeremez.
Bir alt sorgu, bir küme işlevinin içine hemen eklenemez.
BETWEEN operatörü bir alt sorgu ile kullanılamaz; ancak, BETWEEN operatörü alt sorgu içinde kullanılabilir.
SELECT İfadesine sahip alt sorgular
Alt sorgular en çok SELECT deyimiyle kullanılır. Temel sözdizimi aşağıdaki gibidir -
Misal
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 |
+----+----------+-----+---------+----------+