Объясните назначение операторов between, IN, LIKE. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Объясните назначение операторов between, IN, LIKE.



При задании логического условия в предложении WHERE могут быть использованы операторы IN, BETWEEN, LIKE

Оператор BETWEEN (между) используется для проверки условия вхождения значения поля в заданный интервал, то есть вместо списка значений атрибута этот оператор задает границы его изменения.

Например, запрос на вывод записей в которых возраст студентов от 17 до 20 будет выглядеть следующим образом

SELECT * FROM student WHERE age BETWEEN 17 AND 20

Граничные значения, в данном случае значения 17 и 20, входят во множество значений, с которыми производится сравнение. Оператор BETWEEN может использоваться как для числовых, так и для символьных типов полей.

Оператор IN (равен любому из списка) используется для сравнения проверяемого значения поля с заданным списком. Этот список значений указывается в скобках справа от оператора IN.

Построенный с использованием IN условие считается истинным, если значение поля, имя которого указано слева от IN, совпадает (подразумевается точное совпадение) с одним из значений, перечисленных в списке, указанном в скобках справа от IN.

Оператор LIKE применим только к символьным полям.

Этот оператор просматривает строковые значения полей с целью определения, входит ли заданная в операторе LIKE подстрока (образец поиска) в символьную строку значение проверяемого поля.

Для выборки строковых значений по заданному образцу подстроки можно применять шаблон искомого образца строки, использующий следующие символы:

· символ подчеркивания «_», указанный в шаблоне, определяет возможность наличия в указанном месте одного любого символа;

· символ «%» допускает присутствие в указанном месте проверяемой строки последовательности любых символов произвольной длины.

Пример: Написать запрос, выбирающий из таблицы STUDENT сведения о студентах, имена которых начинаются на букву «Р».

SELECT * FROM student WHERE name LIKE 'Р%'

 

Что такое агрегирующие функции и как они используются?

Агрегирующие функции используются для получения обобщающих значений. Их можно применять ко всем строкам таблицы, строкам, определенным в предложении WHERE или к группам строк в предложении GROUP BY. В любом случае, независимо от структуры набора строк, для каждого из них получается единственное значение.

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

· COUNT определяет количество строк или значений поля, выбранных посредством запроса и не являющихся NULL-значениями;

· SUM вычисляет сумму всех выбранных значений данного поля;

· AVG вычисляет среднее значение для всех выбранных значений данного поля;

· МАХ вычисляет наибольшее из всех выбранных значений данного поля;

· MIN вычисляет наименьшее из всех выбранных значений данного поля.

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

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

Например. Найти среднюю стоимость услуг:

SELECT AVG(price) FROM tbl_service

Определить количество записей в таблице tbl_contract:

SELECT COUNT(*) FROM tbl_contract

 

 

Как называются функции SUM, AVG, MAX, MIN, COUNT? Почему?

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

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 582; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.229.17.20 (0.005 с.)