THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

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

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

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

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

Последовательность действий:

1. В режиме конструктора запросов войти в меню «Запрос» и выбрать команду «Удаление». Появится дополнительная строка «Удаление».

2. В строке «Условие отбора» указать, какие записи должны удаляться.

Ни рис 4.22 показано окно конструктора, в котором из состава студентов, получающих стипендию, будут исключены те, кто сдал экзамены на два. Обратите внимание, в той версии, которая реализована у нас, стипендии лишаются студенты, получившие двойки по трем экзаменам, если бы условия сдачи на два по английскому языку мы перенесли на одну строку ниже (строка «или»), а двойка по математике была бы записана еще ниже, то это означало бы поиск студентов, получивших двойку хотя бы по одному экзамену.

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

Допустим, первоначально студентам была назначена стипендия в размере 34 р. (рис. 4.23). Затем стипендию решили увеличить на 50р. Это можно сделать с помощью запроса на обновление. Чтобы создать запрос на обновление, в режиме Конструктора запросов следует выбрать команду меню «Запрос»/ «Обновление». В нижней части бланка появится новая строка «Обновление», в которую следует ввести выражение для расчета (рис. 4.24).

Рис. 4.22. Окно конструктора запроса на удаление

Рис. 4.23. Исходная таблица данных

Рис. 4.24. Окно конструктора запроса на обновление

При запуске запроса на выполнение появится сообщение, которое следует подтвердить. После того, как Вы подтвердите обновление записей, внешний вид экрана не изменится, все изменения происходят только с таблицей. Чтобы просмотреть их, откройте таблицу. Значения величин в поле «Стипендия» должны увеличиться.

Запросы на обновление позволяют внести изменения не только во все записи таблицы, но и в отдельные записи, которые находят по определенным условиям. В этом случае в строке «Условие отбора» вводят условия, определяющие какие записи выбрать для изменения, а в строке «Обновление» указывают, как их следует изменить.

После сдачи экзамена в деканате постановили лишить стипендии всех студентов, которые получили хотя бы одну двойку в сессии. Был составлен запрос и…. Следует обратить внимание на то, что напечатанный 0 в строке «Обновление» означает, что стипендия будет равна 0, но не во всех записях, а в тех, которые удовлетворяют приведенным в соседнем столбце условиям (рис. 4.25).

Рис. 4.25. Окно конструктора запроса на обновление

Условия объединяются словом ИЛИ (или ВТ=2, или Математика=2, или английский язык=2).

Добавим в таблицу новое поле «Общежитие», однако не будем его заполнять вручную, оставив пустым. Определим, кому требуется общежитие, считая, что, если студент проживает в Донецке, общежитие не требуется, а при проживании в других городах - требуется (рис. 4.26).

Запустим запрос на выполнение, щелкнув мышкой по кнопке, а затем откроем таблицу. В целях наглядности скрыты все столбцы, кроме столбца «Фамилия» и «Общежитие» (рис. 4.27).

Как видите, запрос на обновление очень удобен, позволяя автоматически изменять устаревшую информацию на новую, менять содержимое таблиц по определенным условиям.

Рис. 4.26. Окно конструктора запроса на обновление

Рис. 4.27. Результат выполнения запроса на обновление

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

Допустим, требуется создать две таблицы на основании уже существующей, но в первую таблицу перенести информацию о студентах, которым требуется общежитие, а во вторую - проживающих в Донецке. Такая операция выполняется с помощью запроса на создание таблицы (рис. 4.28).

Для этого:

~ перенести в запрос те поля, которые должны быть в таблице;

~ указать условия отбора;

~ войти в меню «Запрос» / «Создание таблицы», в появившемся окне ввести имя создаваемой таблицы, в нашем случае она называется «Иногородние»;

~ Запустить запрос на выполнение. Дать согласие на создание новой таблицы;

Таблица появится в списке существующих таблиц .


Рис. 4.28. Окно конструктора запроса на создание таблицы



Другие новости

Используя условия запроса, вы можете находить в базе данных Access определенные элементы. Если элемент соответствует всем введенным условиям, он отобразится в результатах запроса.

Чтобы добавить условие в запрос Access, откройте этот запрос в конструкторе. Затем определите поля (столбцы), на которые распространяется данное условие. Если нужное поле в бланке запроса отсутствует, добавьте его с помощью двойного щелчка. Затем в строке Условия введите для него условие. Дополнительные сведения см. в статье Общие сведения о запросах .

Условие запроса - это выражение, которое Access сравнивает со значениями в полях запроса, чтобы определить, следует ли включать в результат записи, содержащие то или иное значение. Например, = "Воронеж" - это выражение, которое Access сравнивает со значениями в текстовом поле запроса. Если значение этого поля в определенной записи равно "Воронеж" , Access включает ее в результаты запроса.

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

В этом разделе

Общие сведения об условиях запроса

Условие похоже на формулу - это строка, которая может включать ссылки на поля, операторы и константы. В Access условия запроса также называются выражениями.

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

Условия

Описание

>25 and <50

Это условие применяется к числовому полю, такому как "Цена" или "ЕдиницНаСкладе". Оно позволяет вывести только те записи, в которых поле "Цена" или "ЕдиницНаСкладе" содержит значение больше 25 и меньше 50 .

DateDiff ("гггг", [ДатаРождения], Date()) > 30

Это условие применяется к полю "Дата/время", такому как "ДатаРождения". В результаты запроса включаются только записи, в которых количество лет между датой рождения человека и текущей датой больше 30 .

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

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

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

Узнаем, где и как можно добавлять условия. Чтобы добавить условия в запрос, необходимо открыть его в Конструкторе. После этого следует определить поля, для которых вы хотите задать условия. Если поля еще нет на бланке запроса, добавьте его, перетащив его из окна конструктора запросов на сетку полей или дважды щелкнув поле (при этом поле автоматически добавляется в следующий пустой столбец в сетке). Наконец, введите условия в строку Условия .

Условия, заданные для разных полей в строке Условия , объединяются с помощью оператора AND. Другими словами, условия, заданные в полях "Город" и "ДатаРождения", интерпретируются следующим образом:

Город = "Воронеж" AND ДатаРождения < DateAdd (" гггг ", -40, Date())

1. Поля "Город" и "ДатаРождения" включают условия.

2. Этому условию соответствуют только записи, в которых поле "Город" имеет значение "Воронеж".

3. Этому условию соответствуют только записи людей, которым не менее 40 лет.

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

Что делать, если требуется, чтобы выполнялось только одно из этих условий? Другими словами, как можно ввести альтернативные условия?

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

1. 1. Условие "Город" указывается в строке "Условие отбора".

2. 2. Условие "ДатаРождения" указывается в строке "или".

Условия, заданные в строках Условие отбора и или , объединяются с помощью оператора OR, как показано ниже.

Город = "Чикаго" OR ДатаРождения < DateAdd("гггг", -40, Date())

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

Прежде чем приступить к изучению примеров, обратите внимание на следующее:

Условия для текстовых полей, полей Memo и полей гиперссылок

Примечание: Начиная с версии Access 2013, текстовые поля носят название Краткий текст , а поля Memo - Длинный текст .

Следующие примеры относятся к полю "СтранаРегион", основанном на таблице, в которой хранится информация о контактах. Условие задается в строке Условие отбора поля на бланке.

Условие, заданное для поля "Гиперссылка", по умолчанию применяется к отображаемому тексту, который указан в поле. Чтобы задать условия для конечного URL-адреса, используйте выражение HyperlinkPart . У него следующий синтаксис: HyperlinkPart([Таблица1].[Поле1],1) = "http://www.microsoft.com/" , где "Таблица1" - это имя таблицы, содержащей поле гиперссылки, "Поле1" - это само поле гиперссылки, а "http://www.microsoft.com" - это URL-адрес, который вы хотите найти.

Используйте это условие

Результат запроса

Точно соответствуют определенному значению, например "Китай"

Возвращает записи, в которых поле "СтранаРегион" содержит значение "Китай".

Не соответствуют определенному значению, например "Мексика"

Not "Мексика"

Возвращает записи, в которых значением поля "СтранаРегион" не является "Мексика".

Начинаются с заданной строки символов, например "С"

Возвращает записи всех стран или регионов, названия которых начинаются с буквы "С", таких как Словакия и США.

Примечание: Символ "звездочка" (* ) в выражении обозначает любую строку символов. Он также называется подстановочным знаком. Список таких знаков см. в статье Справочные сведения о подстановочных знаках в приложении Access .

Не начинаются с заданной строки символов, например "С"

Возвращает записи всех стран или регионов, названия которых не начинаются с буквы "С".

Like "*Корея*"

Возвращает записи всех стран или регионов, названия которых содержат строку "Корея".

Not Like "*Корея*"

Возвращает записи всех стран или регионов, названия которых не содержат строку "Корея".

Заканчиваются заданной строкой, например "ина"

Возвращает записи всех стран или регионов, названия которых заканчиваются на "ина", таких как "Украина" и "Аргентина".

Не заканчиваются заданной строкой, например "ина"

Not Like "*ина"

Возвращает записи всех стран или регионов, названия которых не заканчиваются на "ина", как в названиях "Украина" и "Аргентина".

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

Возвращает записи, в которых это поле содержит значение.

"" (прямые кавычки)

Возвращает записи, в которых поле имеет пустое значение (но не значение NULL). Например, записи о продажах другому отделу могут содержать пустое значение в поле "СтранаРегион".

Возвращает записи, в которых поле "СтранаРегион" имеет непустое значение.

Содержит нулевые значения или пустые строки

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

Ненулевые и непустые

Is Not Null And Not ""

Возвращает записи, в которых поле "СтранаРегион" имеет непустое значение, не равное NULL.

При сортировке в алфавитном порядке следуют за определенным значением, например "Мексика"

>= "Мексика"

Возвращает записи с названиями стран и регионов, начиная с Мексики и до конца алфавита.

Входят в определенный диапазон, например от А до Г

Возвращает страны и регионы, названия которых начинается с букв от "А" до "Г".

Совпадают с одним из двух значений, например "Словакия" или "США"

"Словакия" Or "США"

Возвращает записи для США и Словакии.

In("Франция", "Китай", "Германия", "Япония")

Возвращает записи всех стран или регионов, указанных в списке.

Right([СтранаРегион], 1) = "а"

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

Соответствуют заданной длине

Len([СтранаРегион]) > 10

Возвращает записи стран или регионов, длина названия которых превышает 10 символов.

Соответствуют заданному шаблону

Возвращает записи стран или регионов, названия которых состоят из пяти символов и начинаются с "Лив", например Ливия и Ливан.

Примечание: Символы ? и _ в выражении обозначают один символ. Они также называются подстановочными знаками. Знак _ ? * _ % .

Условия для числовых полей, полей с денежными значениями и полей счетчиков

Следующие примеры относятся к полю "ЦенаЗаЕдиницу", основанном на таблице, в которой хранится информация о товарах. Условие задается в строке Условие отбора поля на бланке запроса.

Чтобы добавить записи, которые...

Используйте это условие

Результат запроса

Точно соответствуют определенному значению, например 1000

Возвращает записи, в которых цена за единицу товара составляет 1000 ₽.

Не соответствуют значению, например 10 000

Возвращает записи, в которых цена за единицу товара не равна 10 000 ₽.

< 1000
<= 1000

Возвращает записи, в которых цена товара меньше 1000 ₽ (<1000). Второе выражение (<=1000) отображает записи, в которых цена не больше 1000 ₽.

>999,99
>=999,99

Возвращает записи, в которых цена товара больше 999,99 ₽ (>999,99). Второе выражение отображает записи, цена в которых не меньше 999,99 ₽.

Возвращает записи, в которых цена товара равна 200 или 250 ₽.

>499,99 and <999,99
или
Between 500 and 1000

Возвращает записи товаров с ценами в диапазоне от 499,99 до 999,99 ₽ (не включая эти значения).

<500 or >1000

Возвращает записи, в которых цена товара не находится в диапазоне от 500 до 1000 ₽.

Содержит одно из заданных значений

In(200, 250, 300)

Возвращает записи, в которых цена товара равна 200, 250 или 300 ₽.

Возвращает записи товаров, цена которых заканчивается на 4,99, например 4,99 ₽, 14,99 ₽, 24,99 ₽ и т. д.

Примечание: Знаки * и % в выражении обозначают любое количество символов. Они также называются подстановочными знаками. Знак % нельзя использовать в одном выражении с символом * , а также с подстановочным знаком ? . Вы можете использовать подстановочный знак % в выражении, где есть подстановочный знак _ .

Возвращает записи, для которых не введено значение в поле "ЦенаЗаЕдиницу".

Возвращает записи, в поле "ЦенаЗаЕдиницу" которых указано значение.

Условия для полей "Дата/время"

Следующие примеры относятся к полю "ДатаЗаказа", основанном на таблице, в которой хранится информация о заказах. Условие задается в строке Условие отбора поля на бланке запроса.

Записи

Используйте этот критерий

Результат запроса

Точно соответствуют значению, например 02.02.2006

Возвращает записи транзакций, выполненных 2 февраля 2006 г. Обязательно ставьте знаки # до и после значений даты, чтобы Access мог отличить значения даты от текстовых строк.

Не соответствуют значению, такому как 02.02.2006

Not #02.02.2006#

< #02.02.2006#

Чтобы просмотреть транзакции, выполненные в определенную дату или до нее, воспользуйтесь оператором <= вместо оператора < .

> #02.02.2006#

Чтобы просмотреть транзакции, выполненные в определенную дату или после нее, воспользуйтесь оператором >= вместо оператора > .

>#02.02.2006# and <#04.02.2006#

Кроме того, для фильтрации по диапазону значений, включая конечные значения, вы можете использовать оператор Between . Например, выражение Between #02.02.2006# and #04.02.2006# идентично выражению >=#02.02.2006# and <=#04.02.2006#.

<#02.02.2006# or >#04.02.2006#

#02.02.2006# or #03.02.2006#

Содержит одно из нескольких значений

In (#01.02.2006#, #01.03.2006#, #01.04.2006#)

Возвращает записи транзакций, выполненных 1 февраля 2006 г., 1 марта 2006 г. или 1 апреля 2006 г.

DatePart("m"; [ДатаПродажи]) = 12

Возвращает записи транзакций, выполненных в декабре любого года.

DatePart("q"; [ДатаПродажи]) = 1

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

Возвращает записи транзакций, выполненных сегодня. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи, в поле "ДатаЗаказа" которых указано 2 февраля 2006 г.

Возвращает записи транзакций, выполненных вчера. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за 1 февраля 2006 г.

Возвращает записи транзакций, которые будут выполнены завтра. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за 3 февраля 2006 г.

DatePart("ww"; [ДатаПродажи]) = DatePart("ww"; Date()) and Year([ДатаПродажи]) = Year(Date())

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

Year([ДатаПродажи])* 53 + DatePart("ww"; [ДатаПродажи]) = Year(Date())* 53 + DatePart("ww"; Date()) - 1

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

Year([ДатаПродажи])* 53+DatePart("ww"; [ДатаПродажи]) = Year(Date())* 53+DatePart("ww"; Date()) + 1

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

Between Date() and Date()-6

Возвращает записи транзакций, выполненных за последние 7 дней. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за период с 24 января 2006 г. по 2 февраля 2006 г.

Year([ДатаПродажи]) = Year(Now()) And Month([ДатаПродажи]) = Month(Now())

Возвращает записи за текущий месяц. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за февраль 2006 г.

Year([ДатаПродажи])* 12 + DatePart("m"; [ДатаПродажи]) = Year(Date())* 12 + DatePart("m"; Date()) - 1

Возвращает записи за прошлый месяц. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за январь 2006 г.

Year([ДатаПродажи])* 12 + DatePart("m"; [ДатаПродажи]) = Year(Date())* 12 + DatePart("m"; Date()) + 1

Возвращает записи за следующий месяц. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за март 2006 г.

Between Date() And DateAdd("M", -1, Date())

Записи о продажах за месяц. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за период со 2 января 2006 г. по 2 февраля 2006 г.

Year([ДатаПродажи]) = Year(Now()) And DatePart("q"; Date()) = DatePart("q"; Now())

Возвращает записи за текущий квартал. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за первый квартал 2006 г.

Year([ДатаПродажи])*4+DatePart("q";[ДатаПродажи]) = Year(Date())*4+DatePart("q";Date())- 1

Возвращает записи за прошлый квартал. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за последний квартал 2005 г.

Year([ДатаПродажи])*4+DatePart("q";[ДатаПродажи]) = Year(Date())*4+DatePart("q";Date())+1

Возвращает записи за следующий квартал. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за второй квартал 2006 г.

Year([ДатаПродажи]) = Year(Date())

Возвращает записи за текущий год. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за 2006 г.

Year([ДатаПродажи]) = Year(Date()) - 1

Возвращает записи транзакций, выполненных в прошлом году. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за 2005 г.

Year([ДатаПродажи]) = Year(Date()) + 1

Возвращает записи транзакций, которые будут выполнены в следующем году. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за 2007 г.

Year([ДатаПродажи]) = Year(Date()) and Month([ДатаПродажи]) <= Month(Date()) and Day([ДатаПродажи]) <= Day (Date())

Возвращает записи транзакций, которые приходятся на период с 1 января текущего года до сегодняшней даты. Если сегодняшняя дата - 02.02.2006 г., вы увидите записи за период с 1 января 2006 г. по 2 февраля 2006 г.

Возвращает записи транзакций, выполненных до сегодняшнего дня.

Возвращает записи транзакций, которые будут выполнены после сегодняшнего дня.

Фильтр пустых (или отсутствующих) значений

Возвращает записи, в которых не указана дата транзакции.

Фильтр непустых значений

Возвращает записи, в которых указана дата транзакции.

Условия для полей "Да/Нет"

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

Значение поля

Результат

"Да", "Истина", 1 или -1

Проверено для значения "Да". После ввода значение 1 или -1 изменяется на "Истина" в строке условий.

"Нет", "Ложь" или 0

Проверено для значения "Нет". После ввода значение 0 изменяется на "Ложь" в строке условий.

Нет значения (null)

Не проверено

Любое число, отличное от 1, -1 или 0

Нет результатов, если это единственное значение условия в поле

Любая строка символов, отличная от "Да", "Нет", "Истина" или "Ложь"

Не удается выполнить запрос из-за ошибки несоответствия типов данных.

Условия для других полей

Вложения. В строке Условие отбора введите Is Null , чтобы включить записи, которые не содержат вложений. Введите Is Not Null , чтобы включить записи с вложениями.

Поля подстановки. Существует два типа полей подстановки: те, которые подставляют значения из существующего источника данных (с помощью внешнего ключа), и те, которые основаны на списке значений, заданном при их создании.

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

Условия, которые можно использовать в поле подстановки, основанном на значениях из существующего источника данных, зависят от типа данных внешнего ключа, а не типа подставляемых данных. Например, у вас может быть поле подстановки, которое отображает имя сотрудника, но использует внешний ключ с числовым типом данных. Так как в поле хранится число, а не текст, вы можете использовать условия, которые подходят для чисел, такие как >2 .

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

    Найдите исходную таблицу в области навигации .

    Откройте таблицу в Конструкторе, сделав одно из следующего:

    • Щелкните таблицу и нажмите клавиши CTRL+ВВОД .

      Щелкните таблицу правой кнопкой мыши и выберите пункт Конструктор .

    Тип данных для каждого поля указан в столбце Тип данных на бланке таблицы.

Многозначные поля. Данные в многозначных полях хранятся как строки скрытой таблицы, которые Access создает и заполняет для представления поля. В Конструкторе запроса они представлены в списке полей с помощью расширяемого поля. Чтобы задать условия для многозначного поля, необходимо указать их для одной строки скрытой таблицы. Для этого:

    Создайте запрос, содержащий многозначное поле, и откройте его в Конструкторе.

    Разверните многозначное поле, щелкнув символ плюса (+ ) рядом с ним. Если поле уже развернуто, то выводится минус (- ). Под именем поля вы увидите поле, представляющее одно значение многозначного поля. Это поле будет иметь то же имя, что и многозначное поле, но к нему будет добавлена строка .Значение .

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

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

    Каждое значение в многозначном поле будет оцениваться по отдельности на основе указанных условий. Например, допустим, что в многозначном поле хранится список чисел. Если указать условия >5 AND <3 , будут выведены все записи, в которых есть по крайней мере одно значение больше 5 и одно значение меньше 3.

Язык запросов Direct Commander Query Language позволяет создавать сложные критерии для отбора объектов: накладывать различные условия на значения полей и комбинировать их с помощью логических операторов.

Запрос вводится в строке текстового фильтра внизу любой панели Коммандера. Запрос с использованием логических операторов начинается с символа = .

  • Составление запроса
  • Запросы из нескольких условий
  • Операторы языка запросов

Составление запроса

Простой запрос состоит из трех частей:

Поле Оператор Значение

Например, запрос заголовок ~ сухари покажет все объявления, у которых в столбце Заголовок содержится слово «сухари» .

Начните вводить запрос с символа = . При этом в строке ввода появляется значок Названия полей и операторы можно выбирать из всплывающих подсказок.

При вводе значения обратите внимание:

Если запрос составлен неправильно, значок в строке ввода меняется на и появляется сообщение об ошибке.

Запросы из нескольких условий

Для составления комбинированных запросов можно использовать операторы & (логическое И) и | (логическое ИЛИ).

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

Пример 1

Слова ~ спички | Слова ~ сахар

По этому запросу отбираются фразы, в которых есть ключевое слово «спички» или «сахар» .

Пример 2

Слова ~ спички | Слова ~ сахар & Ставка > 1

По этому запросу отбираются фразы, которые отвечают одновременно двум условиям:

    Имеют ставку на поиске больше 1.

Пример 3

Слова ~ спички | (Слова ~ сахар & Ставка > 1)

По этому запросу отбираются фразы, которые соответствуют хотя бы одному из двух условий:

Операторы языка запросов

В зависимости от поля в DCQL применяются следующие типы операторов.

Оператор Значение Пример Результат
~ Содержит = геотаргетинг ~ австр
!~ Не содержит = геотаргетинг!~ австр
= Модерация!~ [Ожидает]
= Равно/совпадает = геотаргетинг = Австралия
= Номер =
!= Не равно/не совпадает = геотаргетинг!= Австралия
= Номер!=
> Больше = ctr > 0.5
< Меньше = ctr < 0.5
>= Больше либо равно = Ставка >= 1
<= Меньше либо равно = Ставка <= 1
&
|
Оператор Значение Пример Результат
~ Содержит = геотаргетинг ~ австр Отбираются группы объявлений, у которых в столбце Геотаргетинг указано «Австралия» или «Австрия»
= \"Имя изображения\" ~ Отбираются объявления, у которых в столбце Имя изображения указано имя, содержащее подстроку «black» или «white»
= Модерация ~ [Принято; Черновик] Отбираются объявления, у которых в столбце Модерация указано значение «Принято» или «Черновик»
!~ Не содержит = геотаргетинг!~ австр Отбираются группы объявлений, кроме тех, у которых указан геотаргетинг «Австралия» или «Австрия»
= заголовок!~ [спички сухари] Отбираются объявления, у которых значение в столбце Заголовок не содержит подстрок «спички» и «сухари»
= Модерация!~ [Ожидает] Отбираются объявления, у которых в столбце Модерация указано любое значение, кроме «Ожидает» .
= Равно/совпадает = геотаргетинг = Австралия Отбираются только те группы, у которых указан геотаргетинг «Австралия»
= Номер = Отбираются объявления с номерами 111111 и 222222.
!= Не равно/не совпадает = геотаргетинг!= Австралия Отбираются группы, кроме тех, у которых указан геотаргетинг «Австралия»
= Номер!= Отбираются объявления с номерами, отличными от 111111 и 222222.
> Больше = ctr > 0.5 Отбираются фразы с CTR больше 0,5
< Меньше = ctr < 0.5 Отбираются фразы с CTR меньше 0,5
>= Больше либо равно = Ставка >= 1 Отбираются фразы, у которых ставка на поиске больше либо равна 1
<= Меньше либо равно = Ставка <= 1 Отбираются фразы, у которых ставка на поиске меньше либо равна 1
& Логическое «И» в сложных запросах = номер ~ 123 & состояние = \"идут показы\" Отбираются объявления, которые в номере содержат цифры 123 И находятся в состоянии «Идут показы»
| Логическое «ИЛИ» в сложных запросах = название ~ спички | название ~ сахар Отбираются объявления, в названии которых содержится слово «спички» ИЛИ слово «сахар»

Внимание.

Операторы > , >= , < и <= можно использовать только для столбцов с числовыми значениями.

Основные темы параграфа:

♦ три способа поиска в Интернете;
♦ поисковые серверы;
♦ язык запросов поисковой системы.

Три способа поиска в Интернете

Язык запросов поисковой системы

Группа ключевых слов, сформированная по определенным правилам - с помощью языка запросов, называется запросом к поисковому серверу. Языки запросов к разным поисковым серверам очень похожи. Подробнее об этом можно узнать, посетив раздел «Помощь» нужного поискового сервера. Рассмотрим правила формирования запросов на примере поисковой системы Яndех.

Синтаксис оператора Что означает оператор Пример запроса
пробел или & Логическое И (в пределах предложения) лечебная физкультура
&& Логическое И (в пределах документа) рецепты && (плавленый сыр)
| Логическое ИЛИ фото | фотография | снимок | фотоизображение
+ Обязательное наличие слова в найденном документе +быть или +не быть
() Группирование слов (технология | изготовление) (сыра | творога)
~ Бинарный оператор И НЕ (в пределах предложения) банки ~ закон
~~
или
-
Бинарный оператор И НЕ (в пределах документа) путеводитель по Парижу ~~ (агентство | тур)
/(n m) Расстояние в словах (минус (-) - назад, плюс (+) - вперед) поставщики /2 кофе
музыкальное /(-2 4) образование
вакансии - /+1 студентов
“ ” Поиск фразы “красная шапочка”
Эквивалентно: красная
/+1 шапочка
&&/(n m) Расстояние в предложениях
(минус (-) - назад,
плюс (+) - вперед)
банк && /1 налоги

Чтобы получить лучшие результаты поиска, необходимо запомнить несколько простых правил:

1. Не искать информацию только по одному ключевому слову.
2. Лучше не вводить ключевые слова с прописной буквы, так как это может привести к тому, что не будут найдены те же слова, написанные со строчной буквы.
3. Если в итоге поиска вы не получили никаких результатов, проверьте, нет ли в ключевых словах орфографических ошибок.

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

Вопросы и задания

1. В чем состоят три основных способа поиска информации во Всемирной паутине?
2. Каким образом ссылки на конкретные документы попадают в поисковые системы?
3. Сформулируйте сложный запрос, состоящий из нескольких ключевых слов, используя язык запросов системы Яndех.

Чему вы должны научиться, изучив главу 1

Осуществлять обмен информацией с сервером локальной сети школьного компьютерного класса.
Отправлять и получать письма по электронной почте.
Заказывать новости из телеконференций.
Получать информацию с Web-страницы, адрес которой вам известен.
Искать информацию в сети с помощью поисковых программ.

Редактировалось Дата: Суббота, 29 Июнь 2019

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

Адреса Web-страниц приводятся в специальных справочниках, печатных изданиях, звучат в эфире популярных радиостанций и с экранов телевизора.

Если вы не знаете адреса, то для поиска информации в сети Интернет существуют поисковые системы, которые содержат информацию о ресурсах Интернета.

Каждая поисковая система – это большая база ключевых слов, связанных с Web-страницами, на которых они встретились. Для поиска адреса сервера с интересующей вас информацией надо ввести в поле поисковой системы ключевое слово, несколько слов или фразу. Тем самым вы посылаете поисковой системе запрос. Результаты поиска выдаются в виде списка адресов Web-страниц, на которых встретились эти слова.

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

Робот (Spider, Robot или Bot) - это программа, которая посещает веб-страницы и считывает (полностью или частично) их содержимое.

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

Индекс - это хранилище данных, в котором сосредоточены копии всех посещенных роботами страниц.

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

Программа обработки запроса - это программа, которая в соответствии с запросом пользователя «просматривает» индекс на предмет наличия нужной информации и возвращает ссылки на найденные документы.

Множество ссылок на выходе системы распределяется программой в порядке убывания от наибольшей степени соответствия ссылки запросу к наименьшей.

В России наиболее распространенными поисковыми системами являются:

    Рамблер (www.rambler.ru);

    Яндекс (www.yandex.ru);

    Мэйл (www.mail.ru).

За рубежом поисковых систем гораздо больше. Самыми популярными являются:

    Alta Vista (www.altavista.com);

    Fast Search (www.alltheweb.com);

    Google (www.google.com).

Яндекс является пожалуй наилучшей поисковой системой в российском Интернете. Эта база данных содержит около 200 000 серверов и до 30 миллионов документов, которые система просматривает в течение нескольких секунд. На примере этой системы покажем как осуществляется поиск информации.

Поиск информации задается введением ключевого слова в специальную рамку и нажатием кнопки «Найти», справа от рамки.

Результаты поиска появляются в течение нескольких секунд, причем ранжированные по значимости – наиболее важные документы размещаются в начале списка. При этом ранг найденного документа определяется тем, в каком месте документа находится ключевое слово (в заглавии документа важнее, чем в любом другом месте) и числом упоминаний ключевого слова (чем больше упоминаний, тем ранг выше).

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

Содержательную часть сайта можно косвенно оценить по краткому его описанию, размещаемому Поисковой системой под адресом Сайта. Некоторые недобросовестные авторы сайтов, для того, чтобы повысить вероятность появления своей Web-страницы на первых местах Поисковой системы, умышленно включают в документ бессмысленные повторы ключевого слова. Но как только поисковая система обнаруживает такой «замусоренный» документ, она автоматически исключает его из своей базы данных.

Даже ранжированный список документов, предлагаемый поисковой системой в ответ на ключевую фразу или слово, может оказаться практически необозримым. В связи с этим в Яндекс (как и других мощных Поисковых Машинах) предоставлена возможность в рамках первого списка, выбрать документы, которые точнее отражают цель поиска, то есть уточнить или улучшить результаты поиска. Например, на ключевое слово список из 34 899 Веб-страниц. После ввода в команду «Искать в найденном» уточняющего ключевого слова список сокращается до 750 страниц, а после ввода в эту команду еще одного уточняющего слова этот список сокращается до 130 Веб-страниц.

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама