Використання функцій
⇐ ПредыдущаяСтр 5 из 5 Оператор SELECT може повертати не тільки набір записів, але і загальні характеристики таблиці, підраховані по виділюваній множині записів, причому це може бути або множина записів або загальна характеристика таблиці, але не одночасно і те й інше. Для цього можна використовувати функції: 1)count(<умова>)- кількість записів задовольняючих умові, 2)count(*) – повна кількість записав; 3)min(<поле>) - мінімальне значеня поля; 4)max(<поле>) - максимальне значеня поля; 5)avg(<поле>) - середне значеня поля; 6)sum(<поле>) – сума значень поля. У цих функціях <поле > -числове поле. Результат запиту з цими функціями - таблиця з одного рядка.
Приклади. 1)SELECT count(*) FROM PERS – число співробітників(записів у таблиці PERS). 2) SELECT count(*) FROM PERS WHERE DEP='Цех 1'– число співробітників цеху 1. 3) SELECT count(DISTINCT DEP) FROM PERS – число різних підрозділів. 4) SELECT min(zarpl), max(zarpl),avg(zarpl) FROM PERS WHERE DEP='Бухгалтерія'– мінімальна, максимальна і середня зарплата в бухгалтерії.
Однак не можна написати так: SELECT FAM, max(zarpl) FROM PERS – для видачі списку співробітників з максимальною зарплатою.
Якщо ужити ключові слова GROUP BY зміст сукупних характеристик міняється - вони роблять обчислення не по всіх записах, а тільки по тим, що відповідають однаковим значенням полів.
Приклад. Запит
Вкладені оператори SELECT Результати, що повертаються оператором SELECT можна використовувати в іншому операторі SELECT. Приклад. Список прізвищ співробітників підприємства, що одержують максимальну зарплату: SELECT FAM FROM PERS WHERE ZARPL=(SELECT max(ZARPL) FROM PERS). Тут вкладений оператор SELECT повертає максимальну зарплату, зовнішній видає список співробітників по знайденій зарплаті.
Приклад. Потрібно визначити, є чи загальні співробітники в двох різних організаціях. Для цього видамо список співпадаючих прізвищ: Використовуємо перевірку на входження в множину. Запити здійснюються до різних таблиць.
При роботі з вкладеними запитами можна використовувати ключові слова ANY,ALL,EXISTS,SINGULAR. ALL означає, що умова виконується для всіх записів, ANY – хоча б для однієї. Приклад. SELECT FAM FROM PERS WHERE ZARPL>= ALL (SELECT ZARPL FROM PERS) виділяє іншим способом співробітників з найбільш високою зарплатою. Приклад. SELECT FAM FROM PERS WHERE DEP=’Бібліотека’ AND ZARPL>= ANY (SELECT ZARPL FROM PERS WHERE DEP LIKE ’Цех%’). Запит виділяє співробітників бібліотеки з зарплатою не нижче ніж у самих низькооплачуваних працівників будь-якого цеху.
Ключове слово EXISTS означає вибір тільки тих значень, для яких вкладений запит поверне одне чи більше значень, а ключове слово SINGULAR - коли вкладений запит повертає одне і тільки одне значення.
Приклад. Запит поверне список співробітників, що мають однолітків: SELECT TABNUM, FAM, YEAR_B FROM PERS P1 WHERE EXISTS(SELECT TABNUM, FAM,YEAR_B FROM PERS P2 WHERE P1.YEAR_B=P2.YEAR_B AND P1.TABNUM<>P2.TABNUM). Приклад. Запит поверне список співробітників, що не мають однолітків: SELECT TABNUM, FAM, YEAR_B FROM PERS P1 WHERE SINGULAR(SELECT TABNUM, FAM, YEAR_B FROM PERS P2 WHERE P1.YEAR_B=P2.YEAR_B AND P1.TABNUM=P2.TABNUM).
Читайте также: Аналіз розміру амортизаційних відрахувань за три роки у разі використання різних методів для різних строків експлуатації Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|