Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Логические выражения AND, OR, NOT, BETWEEN, IN



Отбор с использованием логических выражений AND, OR. NOT. BETWEI

Предложение WHERE может содержать выражения, связанные логически* ми, такими как AND, OR, NOT, BETWEEN IN.

Применение AND, OR

Выдать записи, если возраст человека лежит в диапазоне больше 22 или

больше 50.


 


Пример:

SELECT [Фамилия], Возраст

FROM Сотрудники

WHERE ((Возраст > 22) And (Возраст < 30)) Or Возраст > 50;


 

Отбор с использованием логических выражений IS NULL.

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

Пример

Показать фамилии сотрудников не имеющих телефона.

SELECT Фамилия, Телефон

FROM Сотрудники

WHERE Телефон IS NULL;

Сотрудники

Показать фамилии сотрудников имеющих факс.

SELECT Фамилия, Факс FROM Сотрудники WHERE Факс IS NOT NULL; Сотрудники


 



Применение BETWEEN... AND / (NOT BETWEEN...AND).

Определяет принадлежность значения выражения указанному диапазону.

Синтаксис

SELECT имена полей

FROM имена таблиц

WHERE выражение [Not] Between значение1 And значение2;

1. Выдать записи, если возраст человека лежит в диапазоне от 22 до 30.

Например:

SELECT Фамилия, Возраст

FROM Сотрудники

WHERE Возраст BETWEEN 22 And 30;




 


2. Выдать записи, если возраст человека НЕ лежит в диапазоне от 22 до 30.

Пример:

SELECT Фамилия], Возраст

FROM Сотрудники

WHERE Возраст NOT BETWEEN 22 And 30;


Применение IN (NOT IN)

Проверяет, совпадает ли значение выражения с одним из элементов указанного списка.

Синтаксис

SELECT имена полей

FROM имена таблиц

WHERE выражение [Not] In (значение1, значенпе2.. ..)

1. Выдать записи, если возраст человека равен 18 или 55.

Пример:

SELECT Фамилия, Возраст

FROM Сотрудники

WHERE Возраст IN (18, 55);

Студенты

2. Выдать записи, если возраст человека НЕ равен 18 или 55. Пример:

SELECT Фамилия, Возраст

FROM Сотрудники

WHERE Возраст NOT IN (18, 55);

Студенты

3. Выдать расписание поездов по вокзалам.

Пример:

SELECT Вокзал, Направление, День, Время FROM Расписание

WHERE Вокзал NOT IN ('Киевский'); Поясните, какое расписание будет выдано?

Онератор LIKE

Используется для сравнения строкового выражения.

Синтаксис

SELECT имена полей

FROM имена таблиц

WHERE выражение Like " образец"

Элемент Описание

выражение Выражение SQL, используемое в предложении WHERE.
образец Строка, с которой сравнивается выражение.


 


Дополнительные сведения

Оператор Like используется для нахождения в поле значений, соответствующих указан­ному образцу. Для аргумента образец можно задавать полное значение (например, Like

" Иванов" ) или использовать подстановочные знаки для поиска диапазона значений (на­пример. Like " Ив*" )-

Оператор Like используется в выражении для сравнения значений поля со строковым выражением. Например, если в запросе SQL ввести Like " с*", запрос возвратит все зна­чения поля, начинающиеся с буквы " С". В запросе с параметрами можно пригласить пользователя, указать искомый образец.

В следующем примере возвращаются данные, начинающихся с буквы «Р», за которой следуютлюбые буквы от «А» до «Д» и три цифры:

Like " Р[А-Д]###"

Следуюшая таблица содержит примеры использования оператора Like для тестирования

выражений с помощью разных образцов.

* - Любое количество, любых символов
? - Один, любой символ

# - Одна, любая цифра

 

Тип совпадения Образец Совпадение (True) Несовпадение (False)
Несколько знаков а* а аа, аВа, аВВВа аВС
  *ab* abc, AABB, Xab aZb, bac
Специальный знак а[*]а а*а ааа
Несколько знаков аb* abcdefg, abc cab, aab
Одиночный знак а? а ааа, аЗа, аВа аВВВа
Одиночная цифра а#а аОа, а 1а, а2а ааа, а 10а
Диапазон знаков [a-z] f, p, j 2, &
Вне диапазона [! a-z] 9, &, % b, a
Не цифра [! 0-9] А, а, &, ~ 0, 1, 9
Комб, выражение a[! b-m]# An9, azO, a99 abc, ajO

Работа с символами даты

При указании аргумента Условие Отбора, символы дат должны вводиться в американ­ском формате, даже если используется неамериканская версия ядра базы данных Jet. На­пример, дата 10 мая 1996 года записывается в России как 10.05.96, а в США как 5/10/96 Обязательно заключите даты в символы «решетки» (#), как показано в следующих при­мерах.

Для отбора записей с этой датой в российской базе данных необходимо использовать сле­дующую инструкцию SQL:

SELECT *

FROM Заказы

WHERE ДатаИсполнения = #5/10/96#;

Кроме того, можно применять функцию DateValue, которая поддерживает международ­ные стандарты, заданные в Microsoft Windows®. Например, для отбора записей в амери­канской базе данных создайте текст программы:

SELECT *

FROM Заказы

WHERE ДатаИсполнения = DateValue('5/10/96'); Для российской базы данных, текст программы будет выглядеть так:

SELECT *

FROM Заказы

WHERE ДатаИсполнения = DateValue('10.5.96');


Пример:


SELECT [Наименование товара] AS Товар, Годность

FROM Товары

WHERE Годность < = #5/7/96#;


ИТОГОВЫЙ ПРИМЕР

Пусть имеется таблица Товары. Создать итоговую таблицу с наименованием товара и

стоимостью не проданного товара при условии, что стоимость непроданного товара должна быть больше...

SELECT Товар, (Количество * Цена) AS Стоимость

INTO Итоговая

FROM Таблица

WHERE (Количество * Цена) > 500

Таблица Итоговая


Статистические функции

Статические функции готовы к вьщаче готовых значений. К статистическим функци­ям относятся следующие функции: Синтаксис

COUNT (выражение)........ вычисляет количество записей, возвращаемых запросом.

SUM (выражение)............ возвращает сумму набора значений, содержащихся в за

данном поле запроса.

AVG (выражение)............ вычисляет арифметическое среднее набора чисел,

содержащихся в указанном поле запроса.

MIN (выражение)....... возвращают минимальное и максимальное значения из

МАХ (выражение) набора значений, содержащихся в указанном поле запроса.

Функция COUNT

Вычисляет количество записей, возвращаемых запросом.

Синтаксис

SELECT Count (выражение) as....

таблица [WHERE...]

Аргумент выражение является строковым выражением, которое определяет поле, содер-жащее данные для подсчета, или выражение, выполняющее вычисления с данными из

юля. Операнды аргумента выражение могут включать имя поля таблицы или функцию.

(Функция может быть внутренней или определяться пользователем, но не мо-

жет быть другой статистической функцией SQL). Подсчитывать можно любые данные, включая текстовые.

Дополнительные сведения Функцию Count используют для подсчета количества записей в базовом запросе.

Count возвращает просто количество записей. Это значение не зависит от того, какие данные содержатся в этих записях.

Count не подсчитывает записи со значениями Null, если только аргумент вы-ражение не содержит подстановочный знак звездочки (*). Если используются знаки звез-

дочки, Count вычисляет общее количество записей, включая те, которые содер-жат пустые поля. Функция Count(*) работает значительно быстрее функции Сunt([Имя столбца].Не следует заключать символ звездочки в прямые кавычки (" " ).

В следующем примере вычисляется количество записей в таблице «Заказы»:

SELECT Count(*) AS ЧислоЗаказов FROMЗаказы;

Следующий запрос подсчитывает количество студентов 104 группы.

ELECT Count(Фамилия) AS [Студенты 104] FROM Студенты WHERE группа = 104;

Если в аргументе выражение задано несколько полей, функция Count подсчитывает за-

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

все указанные поля содержат значения Null, запись не подсчитывается. Для разделения

имен полей используется символ (& ). В следующем примере демонстрируется способ ог-

раничения числа записей теми записями, для которых поле «ДатаИсполнения» или поле

" СтоимостьДоставки" не содержат пустые значения:

SELECT Count('ДатаИсполнения в стоимость доставки' )AS [Not Null] FROMЗаказы;


Статистические функции

Статистические функции готовы к выдаче готовых значений. К статистическим функци­ям относятся следующие функции: Синтаксис

COUNT (выражение)...... вычисляет количество записей, возвращаемых запросом.

SUM ( выражение )........... возвращает сумму набора значений, содержащихся в за

данном поле запроса.

AVG ( выражение ).......... вычисляет арифметическое среднее набора чисел,

содержащихся в указанном поле запроса.

MIN ( выражение )............ возвращают минимальное и максимальное значения из

МАХ ( выражение ) набора значений, содержащихся в указанном поле запроса.

Функция COUNT

Вычисляет количество записей, возвращаемых запросом.

Синтаксис

SELECT Count (выражение) as....

FROM таблица

[WHERE...]

Аргумент выражение является строковым выражением, которое определяет поле, содер­жащее данные для подсчета, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать имя поля таблицы или функцию. (Функция может быть внутренней или определяться пользователем, но не мо­жет быть другой статистической функцией SQL). Подсчитывать можно любые данные, включая текстовые.

Дополнительные сведения

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

Функция Count не подсчитывает записи со значениями Null, если только аргумент вы­ражение не содержит подстановочный знак звездочки (*). Если используются знаки звез­дочки, функция Count вычисляет общее количество записей, включая те, которые содер­жат пустые поля. Функция Count(*) работает значительно быстрее функции Соunt([Имя столбца]). Не следует заключать символ звездочки в прямые кавычки (" " ). В следующем примере вычисляется количество записей в таблице «Заказы»:

SELECT Count{*) AS ЧислоЗакаЗов FROM Заказы;

Следующий запрос подсчитывает количество студентов 104 группы.

SELECT Count(Фамилия) AS [Студенты 104] PROM Студенты WHERE группа = 104;

Если в аргументе выражение задано несколько полей, функция Count подсчитывает за­пись только в том случае, если хотя бы одно из полей не содержит значения Null. Если все указанные поля содержат значения Null, запись не подсчитывается. Для разделения имен полей используется символ (& ). В следующем примере демонстрируется способ ог­раничения числа записей теми записями, для которых поле «ДатаИсполнения» или поле «СтоимостьДоставки» не содержат пустые значения:

SELECT Count (' ДатаИсполнения & СтоимостьДоставки' )AS [Not Null] FROM Заказы;


Функция SUM

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

Синтаксис

SELECT Sum (выражение) as....

FROM таблица

[WHERE...]

Аргумент выражение является строковым выражением, которое определяет поле, содер­жащее добавляемые числовые данные, или выражение, выполняющее вычисления с дан­ными из этого поля. Операнды аргумента выражение могут включать:

• имя поля таблицы,

• константу,

• или функцию.

(Функция может быть внутренней или определяться пользователем, но не может быть другой ста­тистической функцией SQL).

Дополнительные сведения

Функция Sum выполняет суммирование значений в поле. Функция Sum пропускает запи­си с полями, содержащими значения Null.

Следующий запрос подсчитывает итоговую сумму раздаточной ведомости преподавате­лей Экономического факультета.

SELECT Sum([К выплате])AS Итого FROM Ведомость

WHERE Факультет = " ЭФ";

Ведомость

В следующем примере показано, как вычислить сумму произведений полей «Цена» и «Количество»:

SELECT Sum(Цена * Количество)AS [ Доход] FROM Заказано;


Функция AVG

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

Синтаксис

SELECT Avg (выражение) as....
FROM таблица

[WHERE...]

Аргумент выражение является строковым выражением, которое определяет поле, содер­жащее числовые данные для вычисления среднего значения, или выражение, выполняю­щее вычисления с данными из этого поля. Операнды аргумента выражение могут вклю­чать:

• имя поля таблицы,

• константу,

• или функцию.

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

Дополнительные сведения

Среднее значение, вычисленное функцией Avg, является числовым значением (сумма

значений, деленая на их количество).

Функция Avg не включает в вычисления поля со значениями Null.

Следующий запрос определяет средний балл 112 группы.

SELECT AVG([Экзамен])AS [Cp балл]
FROM Ведомость


WHERE Группа - 112;


Функции MIN, MAX

Возвращают минимальное и максимальное значения из набора значений, содержащихся в

указанном поле запроса.

Синтаксис

 

SELECT Min (выражение) as.... FROM таблица [WHERE...]

Аргумент выражение является строковым выражением, которое определяет поле, содер­жащее обрабатываемые данные, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать:

• имя поля таблицы,

• константу,

• или функцию.

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

Дополнительные сведения

Функции Mm и Мах используются для определения наименьшего и наибольшего значе­ний из поля на основе выборки или группировки. Например, можно применить эти функ­ции для возврата наименьшей и наибольшей стоимости доставки. Если не указан способ группировки, используется вся таблица. Следующий запрос определяет максимальную зарплату.

SELECT Маx([К выплате])AS Максимум

FROM Ведомость

WHERE Факультет = " ЭФ";


 

Фамилия Факультет К выплате
ИСАЕВ ММ
ИСАЧКИН ЭФ
КАМЕНЕВ вмк
ИВАННИКОВ ЭФ
ИВАНОВ фф
КАРТАШЕВ ЭФ
КАШОЛКИН вмк

 

Максимум 5600

 



Предложение GROUP BY


 


Объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Если инструкция SELECT содержит статистическую функцию SQL, например Sum или Count, то для каждой записи будет вычислено итоговое значение.

Синтаксис

SELECT списокПолей FROM таблица [WHERE] условиеОтбора GROUP BY [группируемыеПоля]

Ниже перечислены аргументы инструкции SELECT, содержащей предложение GROUP BY:
Элемент Описание


группируемыеПоля


Имена полей (до 10), которые используются для группи­ровки записей. Порядок имен полей в аргументе группируе­мыеПоля определяет уровень группировки для каждого из этих полей.


Дополнительные сведения

Предложение GROUP BY является необязательным.

Итоговые значения не рассчитываются, если инструкция SELECT не содержит статисти­ческой функции SQL.

Значения Null, которые находятся в полях, заданных в предложении GROUP BY, группи­руются и не опускаются. Однако статистические функции SQL не обрабатывают значения Null.

Используйте предложение WHERE для исключения записей из группировки, а предложе­ние HAVING для применения фильтра к записям после группировки.

При использовании предложения GROUP BY все поля в списке полей инструкции SELECT должны быть либо включены в предложение GROUP BY, либо использоваться в качестве аргументов статистической функции SQL.


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

SELECT Группа, Count(Гpyппa) as Колич, Avg(Эк) as [Ср б Эк], Avg(Инф)) as [Cp б Инф]
into [Итоговая ведомость]
from Ведомость
GROUP BY Группа;
Ведомость Итоговая ведомость


       
   


 


Следующий пример подсчитывает количество студентов в МГУ, обучающихся на каж­дом факультете по курсам обучения.

SELECT Факультет, Курс, Соunt(Фамилия) as Количество

from Ведомость

GROUP BY Факультет, Курс;

Ведомость


Предложение HAVING

Определяет, какие сгруппированные записи отображаются при использовании инструк­ции SELECT с предложением GROUP BY. После того как записи будут сгруппированы с помощью предложения GROUP BY, предложение HAVING отберет те из полученных за­писей, которые удовлетворяют условиям отбора, указанным в предложении HAVING.

Синтаксис

SELECT списокПолей FROM таблица WHERE условиеОтбора GROUP BY группируемыеПоля HAVING условиеГруппировки

Ниже перечислены аргументы инструкции SELECT, содержащей предложение HAVING:


Элемент

группируемыеПоля


Описание

Имена полей (до 10), которые используются для группи­ровки записей. Порядок имен полей в аргументе группи­руемыеПоля определяет уровень группировки для каждо­го из этих полей.


 


условиеГруппировки


Выражение, определяющее, какие сгруппированные запи­си следует отображать.


Предложение HAVING является необязательным.

Предложение HAVING похоже на предложение WHERE, которое определяет, какие запи­си должны быть отобраны. После того как записи будут сгруппированы с помощью пред­ложения GROUP BY, предложение HAVING указывает, какие из полученных записей должны быть отобраны:

SELECT КодТипа, Sum (НаСкладе)

FROM Товары

GROUP BY КодТипа

HAVING Sum(НаСкладе) > 100;

Предложение HAVING может содержать до 40 выражений, связанных логическими опе­раторами, такими как And и Ог.


Инструкция SELECT [предикат]

Предикат позволяют отобрать записи среди выбранных с помощью запроса на языке SQL.


Элемент

предикат


Описание

Один из следующих предикатов отбора:

ALL, DISTINCT, DISTINCTROW ТОР. Предикаты используют­ся для ограничения числа возвращаемых записей. Если они отсутст­вуют, по умолчанию используется предикат ALL.


Синтаксис

SELECT [ALL /DISTINCT /DISTINCTROW /[TOP n [PERCENT]]] имена полей {смотри

выше }

FROM таблица

Элемент Описание

ALL Если инструкция SQL не содержит ни одного предиката, то подразуме-

вается предикат ALL. Отбираются все записи, соответствующие усло­виям, заданным в инструкции SQL.

DISTINCT Исключает записи, которые содержат повторяющиеся значения в вы-

бранных полях. Чтобы запись была включена в результат выполнения запроса, значения в каждом поле, включенном в инструкцию SELECT, должны быть уникальными. Например, в таблице «Сотрудники» есть однофамильцы. Если две записи содержат значение «Иванов» в поле «Фамилия», то следующая инструкция SQL возвратит только одну из них:

SELECT DISTINCT Фамилия

FROM Сотрудники;

Если опустить предикат DISTINCT, этот запрос возвратит обе записи для фамилии Иванов. Если предложение SELECT содержит более одно­го поля, то для включения записи в результат выполнения запроса необ­ходимо, чтобы совокупность значений во всех этих полях была уни­кальной. Результат выполнения инструкции SQL, содержащей предикат DISTINCT, является необновляемым и не отражает последующие изме­нения, внесенные другими пользователями.


DISTINCTROW Опускает данные, основанные на целиком повторяющихся записях, а не отдельных повторяющихся полях. Например, создан запрос, объеди­няющий таблицы «Клиенты» и «Заказы» по полю «КодКлиента». Таб­лица «Клиенты» не имеет повторяющихся значений в поле «КодКлиен­та», а таблица «Заказы» содержит, поскольку каждый клиент может сделать несколько заказов. Следующая инструкция SQL показывает, как можно использовать предикат DISTINCTROW для получения списка клиентов, разместивших хотя бы один заказ, без включения сведений о самих заказах:



SELECT DISTINCTROW Название

FROM Клиенты INNER JOIN Заказы

ON Клиенты.КодКлиента = Заказы.КодКлиента ORDER BY Название;

Если опустить предикат DISTINCTROW, в результат выполнения за­проса будут включены несколько строк о каждом клиенте, сделавшем несколько заказов. Предикат DISTINCTROW влияет на результат толь­ко в том случае, если в запрос включены не все поля из анализируемых таблиц. Предикат DISTINCTROW игнорируется, если запрос содержит только одну таблицу или все поля всех таблиц.

Возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. Следующая инструкция SQL позволяет получить список 25 лучших студентов выпуска 1994 года:

SELECT TOP 25 Имя, Фамилия

FROM Студенты

WHERE [Год Выпуска] = 1994

ORDER BY [Средний Балл] DESC;

Если предложение ORDER BY будет опущено, запрос возвратит произ­вольный набор 25 записей из таблицы «Студенты», удовлетворяющих предложению WHERE. Предикат ТОР не осуществляет выбор между равными значениями. Если в предыдущем примере средние баллы два­дцать пятого и двадцать шестого студентов будут равны, то запрос воз­вратит 26 записей.

Кроме того, можно использовать зарезервированное слово PERCENT для возврата определенного процента записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. Предположим, что вместо 25 лучших студентов следует отобрать сту­дентов, попавших в последние 10%:

SELECT TOP 10 PERCENT Имя, Фамилия

FROM Студенты

WHERE [Год Выпуска] = 1994

ORDER BY [Средний Балл] ASC;

Предикат ASC обеспечивает возврат последних значений. Значение, следующее после предиката ТОР должно быть числовым значением ти­па Integer без знака. Предикат ТОР не влияет на возможность обновле­ния запроса.


 



Инструкция UPDATE

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


Синтаксис UPDATE SET WHERE Элемент таблица

условие Отбора

таблица

поле1 = новоеЗначение1, поле2 = новоеЗначение2,... условиеОтбора ;

Описание

Имя таблицы, данные в которой следует изменить.

поле1 = новоеЗначение1

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

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


Дополнительные сведения

Инструкцию UPDATE особенно удобно использовать для изменения сразу многих запи­сей или в том случае, если записи, подлежащие изменению, находятся в разных таблицах. Одновременно можно изменить значения нескольких полей. Следующая инструкция SQL увеличивает стоимость заказа на 10%, а стоимость доставки на 3%:


UPDATE Заказы

SET

СуммаЗаказа = СуммаЗаказа * 1.1, СтоимостьДоставки = СтоимостьДоставки * 1.03


WHERE СтранаПолучателя = " Франция";



Инструкция INSERT INTO

Инструкция INSERT INTO предназначена для добавления одной или нескольких записей в конец таблицы.

Запрос на добавление одной записи Синтаксис:


INSERT INTO VALUES


таблица (поле1, поле2, ... полеN) значение1, значение2, значениеN;


 



Добавление осуществляется следующим образом: значение 1 в поле1 значение2 в поле2

значениеN в поле N


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

Если заполняются все столбцы записи, то инструкции INSERT INTO имена полей можно опустить, но количество значений должно соответствовать количеству полей в заполняе­мой таблице.


INSERT INTO VALUES


таблица

значение!, значение2, значением;


Пример:

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


INSERT INTO VALUES


Студенты (Фамилия, Имя, Отчество, [Год рождения]) " Смирнов", " Игорь", " Петрович", 1985;


 


 



Запрос на добавление нескольких записей:

INSERT INTO таблицаНазначения (поле1, поле2, ... полеN)
SELECT поле1, поле2, ... полеN
FROM выражение

[WHERE...]

Элемент Описание

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


выражение


Имена таблицы или таблиц, откуда вставляются данные. Это вы­ражение может быть именем отдельной таблицы или результатом операции INNER JOIN, LEFT JOIN или RIGHT JOIN, а также со­храненным запросом.


Дополнительные сведения

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

Инструкция INSERT INTO является необязательной, если же она присутствует, то долж­на находиться перед инструкцией SELECT.

Если результирующая таблица содержит ключ, убедитесь, что в ключевое поле (или поля) добавляются уникальные непустые значения; в противном случае записи не будут добав­ляться.

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

Для создания новой таблицы используйте инструкцию SELECT... INTO вместо запроса на создание таблицы.

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


Инструкция DELETE


 


Инструкция DELETE позволяет создать запрос на удаление записей из одной или не­скольких таблиц.

 

Синтаксис:  
DELETE  
FROM имя таблицы
WHERE условие отбора;

Пример:


DELETE

FROM Студенты

WHERE Экзамен = 2;

DELETE

FROM Товар

WHERE [Дата Годность] > #10/11/2003#;


Удалить все записи в таблице «Студен­ты», если в поле «Экзамен» стоит 2.

Удалить все записи в таблице «Товар», если истек срок годности товара.


 


:.тж-


Примечание 1: Если условие отбора (WHERE...) не задано, то удаляются все записи из таблицы.

Примечание 2: Для связанных таблиц удаление записи из master таблицы приведет к кас­кадному удалению записей из всех дочерних таблиц.

Внимание: Удаленные записи не подлежат восстановлению. Поэтому перед удалением можно с помощью конструкции SELECT убедится в правильности отбора данных для удаления.

Совет: Для удаления не всей записи, а только значения поля, можно воспользоваться за­просом на обновление, который позволяет заменить исходное значение полей на значение Null.



 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-13; Просмотров: 1174; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.185 с.)
Главная | Случайная страница | Обратная связь