Практическая лабораторная работа №1


SELECT AVG(MIN(Salary)) AS AVG_MIN



жүктеу 3,23 Mb.
Pdf просмотр
бет292/407
Дата11.01.2022
өлшемі3,23 Mb.
#32311
1   ...   288   289   290   291   292   293   294   295   ...   407
ignat eva o.v. prikladnoe programmirovanie i bazy dannykh. dlia prakt

SELECT AVG(MIN(Salary)) AS AVG_MIN, 
AVG(MAX(Salary)) AS AVG_MAX, 
MIN(AVG(Salary)) AS MIN_AVG, 
MAX(AVG(Salary)) AS MAX_AVG  
FROM    TEACHER  
GROUP BY Dolgnost ; 
 
Условие отбора групп 
Предположим,  что  нужно  вывести  номера  кафедр,  у  которых  суммарное 
количество работающих профессоров более 1. Приведенная ниже формулировка запроса 
является неверной: 
SELECT KOD_kafedru 
FROM    TEACHER 
WHERE  count(dolgnost) > 1 and dolgnost=’профессор’ 
GROUP BY KOD_kafedru; 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
WHERE  count(dolgnost) > 3 and dolgnost=’профессор’; 

Ошибка в строке 3; 
CRA-00934: групповая функция здесь не разрешена 
Дело  в  том,  что  фраза  WHERE  проверяет  на  соответствие  условию  строки 
исходных  таблиц,  а  мы  указали  в  ней  агрегатную  функцию.  Для  отбора  строк  среди 
полученных  групп  следует  применять  фразу  HAVING.  Она  играет  такую  же  роль  для 
групп,  что  и  фраза  WHERE  для  исходных  таблиц,  и  может  использоваться  лишь  при 
наличии  фразы  GROUP  BY.  В  предложении  SELECT  фразы  WHERE,  GROUP  BY  и 
HAVING обрабатываются в следующем порядке. 
Фразой WHERE отбираются строки, удовлетворяющие указанному в ней условию. 
Фраза GROUP BY группирует отобранные строки. 
Фразой  HAVING  отбираются  группы,  удовлетворяющие  указанному  в  ней 
условию. В связи с вышесказанным, предыдущий запрос необходимо записать так. 
Перепишем тогда запрос так: 
Запрос 22
. Вывести номера кафедр, у которых суммарное количество работающих 
профессоров более 1. 

жүктеу 3,23 Mb.

Достарыңызбен бөлісу:
1   ...   288   289   290   291   292   293   294   295   ...   407




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау