Определение условия выбора WHERE

Лекция 6

 

КОМАНДЫ КАТЕГОРИИ ИЗВЛЕЧЕНИЯ ДАННЫХ

СТРУКТУРИРОВАННОГО ЯЗЫКА ЗАПРОСОВ SQL

План

 

Выборка определенных столбцов таблицы

Устранение избыточных данных

· Определение условия выбора WHERE

 

 

Категория Извлечение данных состоит из одной команды SELECT, являющейся основной, наиболее часто используемой командой языка SQL. Структура этой команды проста, потому что её можно расширять для того, чтобы выполнять очень сложные вычисления и обработку данных. Эта команда применяется при формировании всех запросов выбора.

Запрос – команда, которая формулируется для СУБД и требует предоставить определённую указанную информацию. Эта информация обычно выводится на экран, может быть направлена на принтер, сохранена в файле или использована в качестве исходных данных для другой команды или процесса

Команда SELECT– извлекает данные из БД

Формат:SELECT <что выводится>

FROM <откуда> [INTO <куда>

WHERE<каким условиям должно отвечать>

GROUP BY<колонки(поле), по которым осущ-ся группирование>

HAVING<условие группирования записей в одну строку>

ORDER BY<в каком порядке выводить данные>]

Выборка определенных столбцов таблицы

 

Для этого в команде SELECT достаточно перечислить имена полей, которые необходимо увидеть. Если необходимо вывести все поля, то вместо их перечисления следует использовать символ *.

Пример 1. Из таблицы Штаты выбрать сведения по сотрудникам (ФИО, Должность, Отдел).

SELECT[ФИО], [Код должности], [Код отдела], [Индивидуальный коэффициент]

FROM[Штаты];

В результате будет выведены таблица из четырех столбцов, содержащая все внесенные записи.

 

Устранение избыточных данных

 

Ключевое слово DISTINCT – аргумент, дающий возможность исключить дублирующие значения из результата выполнения предложения SELECT.

DISTINCT можно задать только один раз для данного SELECT. Если SELECT извлекает множество полей, то он исключает строки, в которых все выбранные поля идентичны. Строки, в которых некоторые значения одинаковы, а другие различны, он включает в результат.

 

Пример 2. Пользуясь таблицей Штаты, вывести список должностей (кодов должностей), предусмотренных штатным расписанием компании.

 

SELECT[Код должности] FROMШтаты; SELECT DISTINCT[Код должности] FROMШтаты;
Результат:  
Код должности
Д1
Д14
Д2
Д12
Д8
Д8
Д15
Д13
Д3
…..
Д16
Д15

 

 

Результат:
Код должности
Д1
Д10
Д11
Д12
Д13
Д14
Д15
Д16
Д2
Д3
Д4
Д5
Д6
Д7
Д8
Д9

 

 

Определение условия выбора WHERE

Предложение WHERE команды SELECT позволяет определить предикат (условие), который может быть либо истинным, либо ложным для каждой строки таблицы. Команда извлекает только те строки из таблицы, для которых предикат имеет значение «истина». При наличии предложения WHERE программа обработки БД просматривает таблицу строка за строкой и для каждой строки проверяет, истинен ли предикат.

 

Формат: WHEREкритерий поиска,

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

Реляционный оператор – это математический символ, который задает определенный тип сравнения между двумя значениями: = (равно), >= (больше или равно), > (больше, чем), <= (меньше или равно), < (меньше, чем), <> (не равно).

Булевы операторы (выражения) - это те выражения, относительно которых, подобно предикатам, можно сказать истинны они или ложны. Булевы операторы связывают одно или несколько значений (истина/ложь) и в результате получают единственное значение (истина/ложь).

Стандартные булевы операторы: AND, OR, NOT.

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