Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

Кроме того, в предложении WHERE может указываться условие связывания таблиц, если выбор производится не из одной таблицы, а из нескольких. Таким образом, SQL-запрос обеспечивает возможность определять связи между множеством таблиц и отображать содержащуюся в них информацию в терминах этих связей в рамках единственной команды. Операции такого рода называются соединением (join) и являются одним из самых мощных преимуществ реляционных БД.

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

 

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

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

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

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

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

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

 

Пример 1. Выбрать сведения о клиентах, у которых на вкладе размещена сумма меньше 10000 у.е.

 

SELECT. ФИО,[Код вклада],[Сумма вклада]

FROM Сведения

WHERE [Сумма вклада]<=10000;

 

ФИО Код вклада Сумма вклада
Сергеев И. ВД  
Костин В. ВД  
Суворов А. ВД  
Петрова И. ВДС  
Михайлова А. ВДС  
Купцова С. ВДН  
Разин А. ТВ  

 

Пример 2. Выбрать сведения о клиентах, у которых на текущем счете размещена сумма не меньше 10000 у.е.

 

SELECT ФИО, [Код вклада], [Сумма вклада]

FROM Сведения

WHERE [Код вклада]="ТВ" AND [Сумма вклада]>10000;

 

ФИО Код вклада Сумма вклада
Архипов Н. ТВ  
Пугачева А. ТВ  

 

Пример3. Выбор данных из двух таблиц.

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

 

SELECT ФИО AS [ФИО вкладчика], [Сумма вклада], [Вид вклада] AS [Название вклада]

FROM Справочник, Сведения

WHERE Справочник.Код = Сведения.[Код вклада];

 

 

ФИО вкладчика Сумма вклада Название вклада
Сергеев И.   Валютный депозит
Костин В.   Валютный депозит
Суворов А.   Валютный депозит
Петрова И.   Валютный депозит срочный
Соколова Н.   Валютный депозит срочный
Михайлова А.   Валютный депозит срочный
Орлова И.   Валютный депозит накопительный
Богданова О.   Валютный депозит накопительный
Купцова С.   Валютный депозит накопительный
Архипов Н.   Валютный текущий
Разин А.   Валютный текущий
Пугачева А.   Валютный текущий

 

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...