Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
inform sistem.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.22 Mб
Скачать

Критерий отбора данных:

[WHERE <условие связи>

[AND <условие связи>...]

[AND/OR <условие отбора>

[AND/OR <условие отбора>...]]]

Здесь:

<условие связи> - применяется в случае выборки из нескольких БД и указывает критерий, которому должны отвечать поля из разных БД. Условия могут содержать знаки отношений <, >, =, >=, <=, #. Допускается задание нескольких критериев, соединенных знаками AND.

<условие отбора> - строится аналогично, но из выражений содержащих значения только из одной БД. Допускаются логические операторы AND, OR, NOT.

Пример: Команда

SELECT fam, rost FROM scola WHERE rost>=170 AND ROST<=180

выдает фамилии и рост учеников, чей рост находится в диапазоне от 170 до 180 см.

Условия могут содержать операторы SQL :

1) LIKE-позволяет построить условия сравнения по шаблону, где символ подчеркивания '_' указывает любой единичный символ в данном месте строки, а символ процента '%' - любое количество любых символов. (В операционной системе DOS и в СУБД Access их аналоги– это символы ? и * соответственно).

Формат оператора: <выражение> LIKE <шаблон>

Пример: Команда

SELECT * FROM scola WHERE fam LIKE 'E%'

выводит всю информацию об учениках с фамилией на букву Е.

2) BETWEEN- проверяет, находится ли выражение в указанном диапазоне. Имеет вид

<выражение> BETWEEN <нижнее значение> and <верхнее значение>

Пример: Команда

SELECT fam, rost FROM scola WHERE rost BETWEEN 160 and 190

выдает фамилии и рост учеников, чей рост находится в диапазоне от 160 до 190 см.

3) IN-проверяет, находится ли выражение, стоящее слева от слова IN среди перечисленных справа от него:

<выражение> IN (<выр1>, <выр2>...)

Пример: Команда

SELECT fam, rost FROM scola WHERE rost IN (170,171,173,174,175)

выводит фамилию и рост учеников, у которых рост совпадает с одним

из перечисленных значений.

4) оператор в среде Visual FoxPro и в стандартном SQL:

IS NULL-проверяет является ли значение неопределенным. Пустые символьные строки, нули и пустые даты не являются неопределенными. Неопределенное значение- это значение, которое не задавалось.

Пример: Команда

SELECT * FROM scola WHERE dr NOT IS NULL

выдает всю информацию об учениках, у которых дата рождения задана в БД.

Все условия и операторы LIKE, BETWEEN, IN, IS NULL можно комбинировать логическими операциями AND, OR, NOT и круглыми скобками.

Группировка данных

1)

GROUP BY <колонка> [,<колонка>...]- Здесь задаются колонки, по которым производится группирование выходных данных. Все записи БД, для которых значения элементов колонок совпадают, отображаются в выборке единственной строкой. Группирование удобно для получения некоторых сводных характеристик группы (суммы, минимума, максимума, среднего)

Пример: команда

SELECT klass, SUM(wes) FROM scola GROUP BY klass

выводит номер класса и суммарный вес учеников этого класса, а команда

SELECT klass, AVG(wes) FROM scola GROUP BY klass

выводит номер класса и средний вес учеников для каждого класса.

2)

HAVING <условия отбора>- этот параметр задает критерий отбора данных из сформированных в процессе выборки групп.

Пример: Команда

SELECT klass, AVG(rost) FROM scola GROUP BY klass HAVING AVG(rost)>170

выводит номер класса и средний рост учеников тех классов, в которых этот средний рост больше 170 см.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]