Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диго С.М. Базы данных проектирование и использование.doc
Скачиваний:
723
Добавлен:
14.05.2016
Размер:
12.04 Mб
Скачать

6.2.6. Управление выводом повторяющихся строк

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

6.2.7. Простые запросы

Запрос с простыми условиями, включающими только один аргумент поиска, будем коротко называть простым запросом. При создании про­стого запроса условие отбора записывается в соответствующий столбец бланка запроса. Например, если требуется отобрать информацию о кон­кретном сотруднике, то в столбец «ФИО» в строке «Условие отбора» нуж­но записать ФИО данного сотрудника. В частности, запрос, изображен­ный на рис. 6.7, является таким простым запросом.

Как известно, в большинстве СУБД при вводе в выражение зна­чений того или иного типа используются соответствующие данному типу данных ограничители. В Access при задании запроса ограничи­тели можно не ставить. В зависимости от типа поля, которое вводит­ся в выражение, определяющее условие отбора, ограничители добав­ляются системой автоматически: прямые кавычки (" ") вокруг строко­вых значений; символы (#) вокруг дат.

В столбце можно записывать не только значение атрибута, но и знак операции сравнения; по умолчанию принимается знак равенства (=). Если в условии отбора должны использоваться операции сравнения, отличные от знака равенства, то их надо указывать в явном виде. Если, например, требуется определить список всех сотрудников, имеющих оклад меньше 1000 руб., то запрос будет выглядеть так, как изображено на рис. 6.10.

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

Это же условие отбора можно было задать и следующим образом:

>=1000 And>=1500.

Можно осуществлять поиск и по подстроке. Для этого использу­ется оператор Like (рис. 6.12)

6.2.8. Сложные запросы

Если в условиях отбора используется несколько полей, то они могут соединяться оператором «И» или «ИЛИ». На рис. 6.13, 6.14 изображены примеры таких запросов. Первый из них выдает список военнообязанных мужчин (запрос «И»; аргументы запроса располо­жены на одной строке), второй (запрос «ИЛИ»; аргументы запроса расположены на разных строках) - всех мужчин и военнообязанных женщин.

Как видим, разница в примерах запросов, изображенных на рис. 6.13 и 6.14, состоит только в том, что условия отбора заданы в первом случае на одной строке, а во втором - на разных, а ответ при этом получается разный. Поэтому рассматриваемый язык запросов и называется табличным двухмерным языком: ответ зависит от взаим­ного расположения аргументов поиска относительно друг друга.

В одном запросе могут использоваться и более двух аргументов поиска, причем одна часть из них может связываться оператором «И», а другая - оператором «ИЛИ».