Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Логические выражения AND, OR, NOT, BETWEEN, INСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Отбор с использованием логических выражений AND, OR, NOT, BETWEEN, IN. Предложение WHERE может содержать выражения, связанные логическими операторами, такими как AND, OR, NOT, BETWEEN IN. Применение AND, OR Выдать записи, если возраст человека лежит в диапазоне больше 22 и меньше 30 или больше 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 "образец"
Дополнительные сведения Оператор Like используется для нахождения в поле значений, соответствующих указанному образцу. Для аргумента образец можно задавать полное значение (например, Like “Иванов’) или использовать подстановочные знаки для поиска диапазона значений (например, Like “Ив*”). Оператор Like используется в выражении для сравнения значений поля со строковым выражением. Например, если в запросе SQL ввести Like "C*", запрос возвратит все значения поля, начинающиеся с буквы " C ". В запросе с параметрами можно пригласить пользователя указать искомый образец. В следующем примере возвращаются данные, начинающихся с буквы «Р», за которой следуют любые буквы от «А» до «Д» и три цифры: Like "Р[А-Д]###" Следующая таблица содержит примеры использования оператора Like для тестирования выражений с помощью разных образцов. * - Любое количество, любых символов ? - Один, любой символ # - Одна, любая цифра
Работа с символами даты При указании аргумента У словие Отбора, символы дат должны вводиться в американском формате, даже если используется неамериканская версия ядра базы данных 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(выражение)……… возвращают минимальное и максимальное значения из набора MAX(выражение) значений, содержащихся в указанном поле запроса.
Функция COUNT Вычисляет количество записей, возвращаемых запросом. Синтаксис SELECT Count ( выражение ) as…. FROM таблицa [WHERE …] Аргумент выражение является строковым выражением, которое определяет поле, содержащее данные для подсчета, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать имя поля таблицы или функцию. (Функция может быть внутренней или определяться пользователем, но не может быть другой статистической функцией SQL). Подсчитывать можно любые данные, включая текстовые. Дополнительные сведения Функцию Count используют для подсчета количества записей в базовом запросе Функция Count возвращает просто количество записей. Это значение не зависит от того, какие данные содержатся в этих записях. Функция Count не подсчитывает записи со значениями Null, если только аргумент выражение не содержит подстановочный знак звездочки (*). Если используются знаки звездочки, функция Count вычисляет общее количество записей, включая те, которые содержат пустые поля. Функция Count( * ) работает значительно быстрее функции Count( [Имя столбца] ). Не следует заключать символ звездочки в прямые кавычки (" "). В следующем примере вычисляется количество записей в таблице «Заказы»: SELECT Count(*) AS ЧислоЗаказов FROM Заказы; Следующий запрос подсчитывает количество студентов 104 группы.
SELECT Count(Фамилия) AS [Студенты 104] FROM Студенты WHERE группа = 104;
Если в аргументе выражение задано несколько полей, функция Count подсчитывает запись только в том случае, если хотя бы одно из полей не содержит значение Null. Если все указанные поля содержат значения Null, запись не подсчитывается. Для разделения имен полей используется символ (&). В следующем примере демонстрируется способ ограничения числа записей теми записями, для которых поле «ДатаИсполнения» или поле «СтоимостьДоставки» не содержат пустые значения: SELECT Count('ДатаИсполнения & СтоимостьДоставки')AS [Not Null] FROM Заказы; Функция SUM Возвращает сумму набора значений, содержащихся в заданном поле запроса. Синтаксис SELECT Sum (выражение) as…. FROM таблицa [WHERE …] Аргумент выражение является строковым выражением, которое определяет поле, содержащее добавляемые числовые данные, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать · имя поля таблицы, · константу · или функцию. (Функция может быть внутренней или определяться пользователем, но не может быть другой статистической функцией SQL). Дополнительные сведения Функция Sum выполняет суммирование значений в поле. Функция Sum пропускает записи с полями, содержащим значения Null. Следующий запрос подсчитывает итоговую сумму раздаточной ведомости преподавателей Экономического факультета. SELECT Sum([К выплате])AS Итого FROM Ведомость WHERE Факультет = “ЭФ”; Ведомость
В следующем примере показано, как вычислить сумму произведений полей «Цена» и «Количество»: SELECT Sum(Цена * Количество)AS [ Доход] FROM Заказано;
Функция AVG Вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса. Синтаксис SELECT Avg (выражение) as …. FROM таблицa [WHERE …] Аргумент выражение является строковым выражением, которое определяет поле, содержащее числовые данные для вычисления среднего значения, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать · имя поля таблицы, · константу · или функцию. (Функция может быть внутренней или определяться пользователем, но не может быть другой статистической функцией SQL). Дополнительные сведения Среднее значение, вычисленное функцией Avg, является числовым значением (сумма значений, деленная на их количество). Функция Avg не включает в вычисления поля со значениями Null.
Следующий запрос определяет средний балл 112 группы SELECT AVG([Экзамен])AS [Ср балл] FROM Ведомость WHERE Группа = 112;
Функции MIN, MAX Возвращают минимальное и максимальное значения из набора значений, содержащихся в указанном поле запроса. Синтаксис SELECT Min (выражение) as …. FROM таблицa [WHERE …] Аргумент выражение является строковым выражением, которое определяет поле, содержащее обрабатываемые данные, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать · имя поля таблицы, · константу · или функцию. (Функция может быть внутренней или определяться пользователем, но не может быть другой статистической функцией SQL). Дополнительные сведения Функции Min и Max используются для определения наименьшего и наибольшего значений из поля на основе выборки или группировки. Например, можно применить эти функции для возврата наименьшей и наибольшей стоимости доставки. Если не указан способ группировки, используется вся таблица. Следующий запрос определяет максимальную зарплату. SELECT Max([К выплате])AS Максимум FROM Ведомость WHERE Факультет = “ЭФ”; Ведомость
Предложение GROUP BY Объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Если инструкция SELECT содержит статистическую функцию SQL, например Sum или Count, то для каждой записи будет вычислено итоговое значение. Синтаксис SELECT списокПолей Ниже перечислены аргументы инструкции SELECT, содержащей предложение GROUP BY:
Дополнительные сведения Предложение GROUP BY является необязательным. Итоговые значения не рассчитываются, если инструкция SELECT не содержит статистической функции SQL. Значения Null, которые находятся в полях, заданных в предложении GROUP BY, группируются и не опускаются. Однако статистические функции SQL не обрабатывают значения Null. Используйте предложение WHERE для исключения записей из группировки, а предложение HAVING для применения фильтра к записям после группировки.
При использовании предложения GROUP BY все поля в списке полей инструкции SELECT должны быть либо включены в предложение GROUP BY, либо использоваться в качестве аргументов статистической функции SQL. Следующий запрос анализирует экзаменационную оценочную ведомость и создает итоговую таблицу содержащую номер группы, количество студентов в группе и средний балл по предметам. SELECT Группа, Count(Группа) as Колич, Avg(Эк) as [Ср б Эк], Avg(Инф) as [Ср б Инф] INTO [Итоговая ведомость] FROM Ведомость GROUP BY Группа; Ведомость Итоговая ведомость
Следующий пример подсчитывает количество студентов в МГУ на обучающимся на каждом факультете по курсам обучения
SELECT Факультет, Курс, Count(Фамилия) as Количество FROM Ведомость GROUP BY Факультет, Курс; Ведомость
Предложение HAVING Определяет, какие сгруппированные записи отображаются при использовании инструкции SELECT с предложением GROUP BY. После того как записи будут сгруппированы с помощью предложения GROUP BY, предложение HAVING отберет те из полученных записей, которые удовлетворяют условиям отбора, указанным в предложении HAVING. Синтаксис SELECT списокПолей Ниже перечислены аргументы инструкции SELECT, содержащей предложение HAVING:
Предложение HAVING является необязательным. Предложение HAVING похоже на предложение WHERE, которое определяет, какие записи должны быть отобраны. После того как записи будут сгруппированы с помощью предложения GROUP BY, предложение HAVING указывает, какие из полученных записей должны быть отобраны: SELECT КодТипа, Sum(НаСкладе) FROM Товары GROUP BY КодТипа HAVING Sum(НаСкладе) > 100; Предложение HAVING может содержать до 40 выражений, связанных логическими операторами, такими как And и Or. Инструкция SELECT [предикат] Предикат позволяют отобрать записи среди выбранных с помощью запроса на языке SQL.
Синтаксис SELECT [ALL / DISTINCT / DISTINCTROW / [TOP n [PERCENT]]] имена полей {смотри выше }
Инструкция UPDATE Создает запрос на обновление, который изменяет значения полей указанной таблицы на основе заданного условия отбора. Синтаксис UPDATE таблица
Дополнительные сведения Инструкцию UPDATE особенно удобно использовать для изменения сразу многих записей или в том случае, если записи, подлежащие изменению, находятся в разных таблицах. Одновременно можно изменить значения нескольких полей. Следующая инструкция SQL увеличивает стоимость заказа на 10 процентов, а стоимость доставки на 3 процента: UPDATE Заказы SET СуммаЗаказа = СуммаЗаказа * 1.1, СтоимостьДоставки = СтоимостьДоставки * 1.03
WHERE СтранаПолучателя = “Франция”;
Инструкция: INSERT INTO
Инструкция INSERT INTO предназначена для добавления одной или нескольких записей в конец таблицы.
Запрос на добавление одной записи
Синтаксис:
INSERT INTO таблицa (поле1, поле2, … полеN) VALUES значение1, начение2, значениеN;
Добавление осуществляется следующим образом: значение1 в поле1 значение2 в поле2 ………………………. значениеN в полеN
Количество перечисленных полей и количество значений должно быть одинаковым и типы данных должны совпадать. Значения текстовых полей заключаются в кавычки.
Если заполняются все столбцы записи, то инструкции INSERT INTO имена полей можно опустить но количество значений должно соответствовать количеству полей в заполняемой таблице.
INSERT INTO таблица VALUES значение1, значение2, значениеN;
Пример: В таблице Студенты добавить запись нового студента содержащую фамилию, имя, отчество и год рождения. INSERT INTO Студенты (Фамилия, Имя, Отчество, [Год рождения]) VALUES ''Смирнов'', ''Игорь'', ''Петрович'', 1985; Запрос на добавление нескольких записей:
INSERT INTO таблицaНазначения (поле1, поле2, … полеN) SELECT поле1, поле2,... полеN [WHERE…]
Дополнительные сведения Инструкцию INSERT INTO можно также использовать для добавления набора записей из другой таблицы или запроса с помощью предложения SELECT... FROM, как показано выше в запросе на добавление нескольких записей. В этом случае предложение SELECT определяет поля, добавляемые в указанную таблицуНазначение. Инструкция INSERT INTO является необязательной, если же она присутствует, то должна находиться перед инструкцией SELECT. Если результирующая таблица содержит ключ, убедитесь, что в ключевое поле (или поля) добавляются уникальные непустые значения; в противном случае записи не будут добавляться. Чтобы добавить поля в таблицу с полем счетчика и заново перенумеровать добавленные записи, не следует включать в запрос поле счетчика. Включать в запрос поле счетчика необходимо, если требуется сохранить исходные значения поля. Для создания новой таблицы используйте инструкцию SELECT... INTO вместо запроса на создание таблицы. Чтобы заранее узнать, какие записи будут добавлены, сначала выполните и просмотрите результаты запроса на выборку, использующего те же самые условия отбора. Запрос на добавление записей копирует записи из одной или нескольких таблиц в другую таблицу. Таблицы, которые содержат добавляемые записи, не изменяются. Инструкция: DELETE
Инструкция DELETE позволяет создать запрос на удаление записей из одной или нескольких таблиц.
Синтаксис:
DELETE FROM имя таблицы WHERE условие отбора; Пример:
DELETE FROM Студенты WHERE Экзамен = 2;
FROM Товар WHERE [Дата Годность] > #10/11/2003#;
Примечание1: Если условие отбора (WHERE …) не задано, то удаляются все записи из таблицы.
Примечание2: Для связанных таблиц удаление записи из master таблицы приведет к каскадному удалению записей из всех дочерних таблиц.
Внимание: Удаленные записи не подлежат восстановлению. Поэтому перед удалением можно с помощью конструкции SELECT убедится в правильности отбора данных для удаления. Совет: Для удаления не всей записи, а только значения поля можно воспользоваться запросом на обновление, который позволяет заменить исходное значение полей на значение Null.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-26; просмотров: 451; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.64.68 (0.011 с.) |