LIKE-ın istifadəsi qiyməti tam bilinməyən axtarış üçün lazımdır. Siz yalnız bildiyiniz hissəni istifadə edə bilərsiniz.
NULL qiymətin olmamasını bildirdiyi kimi siz NULL ilə ixtiyari nəticəsinin necə olduğunu bilməyəcəksiniz. Adətən sizə NULL olan sətirləri ayırmaq lazım gələcək. Bunun üçün xüsusi operator olan IS NULL istifadə olunur. VB-də city sütunları NULL olan sifarışcıləri seçək:
SELECT *
FROM Customers
WHERE city IS NULL
VB-də belə yazı yoxdur, lakin bu cür yazı ona sifarişçini agentsiz daxil edərkən baş verə bilər.
İxtisas: Riyaziyyat-informatika müəllimliyi
Kurs: IV
Fənn: Verilənlər bazası
Mövzu: Mövzu: Aqreqat funksiyaların köməkliyi ilə verilənlərin ümumiləşdirilməsi
Ədəbiyyat:
S.Q.Kərimov, S.B.Həbibullayev, T.İ.İbrahimzadə. İnformatika. Bakı 2010.
S.Q.Kərimov. İnformasiya sistemləri. Bakı 2008.
Elmir Vəlizadə, Ziyafət Əmirov., Microsoft Office 2007 Paketi., «Şərq-Qərb», 2012.
Natiq Quliyev, Zəfər Şamilov., İnformatika., Bakı 2013.
S.Quliyeva, N.Qafarova, N.Ağayeva,V.Qasımov, M.Mehdiyev. İnformatika. Dərs vəsaiti. Bakı 2011.
Tələbə Qəbulu üzrə Dövlət Komissiyası., İnformatika., Bakı, 2015
Müəllim: Vüqar Salmanov
E-mail: vuqars69@mail.ru
Plan
Aqreqat funksiyalar
Bir necə cədvəldən verilənlərin secilməsi
Bu addımda biz qrup qiymətləri götürüb bir qiymətə gətirən aqreqat funksiyaların istifadəsinə keçəcəyik.
SQL Server bir necə aqreqat funksiya təklif edir.
COUNT - Verilmiş suala uyğun gələn sətirlərin sayını verir
SUM - Sütunda olan bütün qiymətləri cəmləyir
AVG - Bütün qiymətlərin riyazi ortasını tapır.
MAX - Secilmiş qiymətlərdən ən böyüyünü tapır
MIN - Secilmiş qiymətlərdən ən kiciyini tapır
SUM və AVG funksiyaları yalnız ədədi sətirlər üçün tətbiq olunur. COUNT, MAX, MIN ilə ədədi və simvol sətirlər istifadə oluna bilər. Simvol sətirlərlə istifadə olunanda MIN, MAX dəyişənləri əlifba sırası üzrə müqayisə edir. Aqreqat funksiyalar öz işlərində NULL qiymətini nəzərə almırlar.
Orders cədvəlindəki bütün sifarişçilərin cəmini tapmaq üçün aşağıdakı sualı vermək lazımdır:
SELECT SUM( amt )
FROM Orders
Nəticə:
---------------------
26658.4000
COUNT funksiyası digərlərindən bir az fərqlənir. O verilmiş sütunun və ya cədvəlin sətirlərinin sayını hesablayır. Məs., Orders cədvəlinə yazılmış ticarət agentlərinin sayını hesablayaq.
SELECT COUNT( DISTINCT snum )
FROM Orders
Nəticə:
-----------
5
Fikir verin ki, sorğuda DISTINCT acar sözündən istifadə olunmuşdur, bu vaxtı agentlərin yalnız unikal nömrələri hesablanır. Əgər bu acar sözü yazılmasaydı onda nəticə aşağıdakı kimi olacaqdı:
-----------
10
Əgər cədvəldə bütün sətirlərin sayını hesablamaq lazım gələrsə, onda sorğuda COUNT funkiyasında sütun yerinə ulduz işarəsi qoymaq lazımdır:
SELECT COUNT(*)
FROM Customers
Nəticə:
-----------
7
GROUP BY təklifi sizə aqreqat funksiyanın dəyişməsi üçün lazım olan çoxluq verir. O SELECT ifadəsinin daxilində sətir və aqreqat funksiyaları cəmləndirmək imkanı verir. Tutaq ki, sizə hər bir ticarət agenti tərəfindən alınmış ən böyük sifarişi tapmaq lazımdır:
SELECT snum, MAX( amt )
FROM Orders
GROUP BY snum
Bu sualın nəticəsi:
snum
----- ----------
1001 9891.8800
1002 5160.4500
1003 1713.2300
1004 1900.1000
1007 1098.1600
Dostları ilə paylaş: |