DATEDIFF функциясы DATEDIFF ( datepart , startdate , enddate )
Сұраныс 12. Мысалы, Статывканың қанша ай жұмыс істейтінін білгіңіз
келсе, мұндай сұранысты орындауға болады:
SELECT 'Статыв жұмыс істеді ' || R0uND(DATEDIFF(month,GETDATE(),
DATA_HIRE),1) ||
' месяцев' AS " Статывканың жұмыс өтілімі"
82
FROM TEACHER
WHERE NAME_TEACHER LIKE 'Статыв%';
SQL Server 2008 ортасында жасалатын қарапайым сұраныстар
командаларын көрсетіп берейік.
Сурет 6.4.2.2 Бір кестеден алынған шарт арқылы өңделген сұраныс
Сурет 6.4.2.3 Барлық өрістерді шығаратын сұраныс
83
Сурет 6.4.2.4 Студенттің аты жөні шарт арқылы өңделген сұраныс
6.5
Сұрыптау. Топтастыру.
Жолдарды топтастыру сұраныстары GROUP BY - кестенің барлық жолдарын бір немесе бірнеше бағандардың
(және олардың үстіндегі өрнектер) мәндерінің теңдігі белгісі бойынша топтарға
бөлуге мүмкіндік береді.
GROUP BY фразасы WHERE фразасынан кейін орын алу қажет, (егер ол
жоқ болса, онда FROM фразасынан кейін). Топ фразасының жалпы синтаксисі:
GROUP BY өрнек[, өрнек]...
Бір баған бойынша топтастыру Сұраныс 1. Әрбір корпус үшін ондағы кафедралардың санын санау.
SELECT NUM_KORPUSA AS “Корпус”,
СOUNT(*) AS "Кафедралар саны"
FROM KAFEDRA
Бірнеше бағандар бойынша топтастыру Сұраныс 2. 1 корпуста орналасқан әр факультет үшін әр топ бойынша
қанша студент оқиды.
SELECT f.Name_faculteta,
s."GROUP", count(s."GROUP") AS " Топтағы студенттер саны "
FROM FACULTET f, KAFEDRA d, STUDENT s
WHERE f.KOD_FACULTETA = d.KOD_FACULTETA AND
84
d.KOD_kafedru = s.KOD_kafedru AND
d.NUM_KORPUSA = '1'
GROUP BY f.Name_faculteta,s."GROUP";