лабораторная работа 4

Preview:

Citation preview

Copyright © Avdeyev V.A. 2008

Системы управления техническими данными

на предприятииЛАБОРАТОРНАЯ РАБОТА №4

Использование специальных операторов в условиях и

обобщение данных с помощью агрегатных функций

автор: Авдеев Владимир Александрович

Лабораторная работа №4

Copyright © Avdeyev V.A. 2008

Цель работы:Приобретение практических навыков при использовании

специальных операторов в условиях и обобщении данных с помощью агрегатных функций.

Содержание работы:Выполнение упражнений по использованию специальных

операторов в условияхВыполнение упражнений по использованию агрегатных

функций

Лабораторная работа №4

Оператор IN

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Оператор IN определяет набор значений, в который данное значение может или не может быть включено.

Оператор BETWEEN

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Оператор BETWEEN похож на оператор IN. В отличие от определения по номерам из набора, как это делает IN, BETWEEN определяет диапазон, значения которого должны уменьшаться, что делает предикат верным.Вы должны ввести ключевое слово BETWEEN с начальным значением, ключевое AND и конечное значение.

Оператор LIKE (1/2)

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

LIKE применим только к полям типа CHAR или VARCHAR, с которыми он используется, чтобы находить подстроки. То есть, он ищет поле символа, чтобы видеть, совпадает ли с условием часть его строки.

Имеются два типа групповых символов используемых с LIKE:символ подчеркивания (_) замещает любой одиночный символ. Например, 'b_t' будет соответствовать словам 'bat' или 'bit', но не будет соответствовать 'brat'.знак процента (%) замещает последовательность любого числа символов (включая символы нуля). Например '%p%t' будет соответствовать словам 'put', 'posit', или 'opt', но не 'spite'.

Оператор LIKE (2/2)

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Оператор NULL

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Когда значение поля равно NULL, это означает, что программа базы данных специально промаркировала это поле как не имеющее никакого значения для этой строкиТак как NULL указывает на отсутствие значения, вы не можете знать, каков будет результат любого сравнения с использованием NULL.

‘EQ_ID = NULL' или ' EQ_ID IN (NULL)' - будет неизвестно

Использование NOT со спец. операторами

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Специальным операторам может предшествовать Булев оператор NOT.

Что такое агрегатные функции?

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Запросы могут производить обобщенное групповое значение полей точно также как и значение одного поля. Это делает с помощью агрегатных функций. Агрегатные функции производят одиночное значение для всей группы таблицы.

Список агрегатных функций:COUNT производит номера строк или не NULL значения полей, которые выбрал запрос.SUM производит арифметическую сумму всех выбранных значений данного поля.AVG производит усреднение всех выбранных значений данного поля.MAX производит наибольшее из всех выбранных значений данного поля.MIN производит наименьшее из всех выбранных значений данного поля.

Использование агрегатных функций

Copyright © V.A. 2008Лабораторная работа №4

Агрегатные функции используются подобно именам полей в предложении SELECT запроса, но с одним исключением, они берут имена поля как аргументы. Только числовые поля могут использоваться с SUM и AVG.С COUNT, MAX, и MIN, могут использоваться и числовые или символьные поля.

Конструкции GROUP BY

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Конструкция GROUP BY просто указывается столбец, по значениям которого будет выполняться группирование.

Функция COUNT

Copyright © V.A. 2008Лабораторная работа №4

Функция COUNT несколько отличается от всех. Она считает число значений в данном столбце, или число строк в таблице.

Упражнения

Copyright © Avdeyev V.A. 2008Лабораторная работа №4

Напишите запрос, который мог бы вывести все оборудование, введенное в эксплуатацию с 1985 по 1998 год?

Напишите запрос, который выберет все наименования операций, которые содержат «то» в таблице технологических процессов.

Напишите запрос, который выберет модели оборудования содержащие «1».

Напишите запрос, который сосчитал бы количество всех приобретений оборудования на 3 Октября 1990 г.

Напишите запрос, который сосчитал бы число различных, отличных от NULL значений поля dep_rating в таблице подразделений.

Напишите запрос, который выбрал бы оборудование с высшем приоритетом по каждому цеху.

Recommended