Sql выборка из нескольких таблиц

Создание простого запроса на выборку Запрос на выборку служит для создания подмножеств данных, которые можно использовать для получения ответов на определенные вопросы. При помощи такого запроса можно также передавать данные в другие объекты базы данных. После создания запроса на выборку его можно использовать по мере необходимости. В этом разделе описана процедура создания простого запроса на выборку для поиска данных в отдельной таблице. Кроме того, показано, как усовершенствовать запрос, определив условия для записей и добавив вычисляемые значения. В этой статье Введение Запрос на выборку — это объект базы данных, который служит для отображения данных в режим таблицы. Запрос может получать данные из одной или нескольких таблиц, из существующих запросов или из комбинаций таблиц и запросов. Таблицы или запросы, используемые для получения данных, называются источниками записей. Создание простых запросов на выборку при использовании мастера и при sql выборка из нескольких таблиц в режиме конструктора происходит одинаково. Для этого следует выбрать источник записей и поля, которые требуется включить в запрос. При необходимости можно задать условия для уточнения результатов запроса. После создания запроса на выборку его следует выполнить, чтобы получить результаты. Чтобы выполнить запрос, достаточно открыть его в режиме таблицы. Впоследствии запрос можно использовать повторно по мере необходимости, например в качестве источника записей для формы, отчета или другого запроса. Примечание Дополнительную информацию об использовании запроса в качестве источника записей для формы или отчета см. Существует несколько типов запросов, каждый из которых предназначен для определенной цели. Например, запрос на выборку служит для отображения данных или для создания новой таблицы. Запрос на изменение служит sql выборка из нескольких таблиц изменения данных в источнике данных. При запуске запроса с параметрами требуется задать условия. В этом разделе описаны только запросы на выборку. Примечание Эта статья описывает создание запросов на выборку, возвращающих информацию из одной таблицы. Для создания запросов, возвращающих информацию из двух или более таблиц, см. Создание запроса Цель этого упражнения — создать запрос на выборку "Контакты в Твери". Для этого можно использовать либо режим конструктора, либо мастер. Кроме того, если пользователь знаком с созданием инструкций SQL, можно создать запрос в режиме SQL с помощью инструкции SELECT. Для начала работы необходимо иметь таблицу, содержащую информацию. Пример информации приведен в нижеследующей HTML-таблице. Код клиента Организация Адрес Город: Область, край, республика Индекс Страна Тел: контакте. ДеньРождения 1 Политехнический музей Загородное шоссе, д. Ввод образца данных вручную На вкладке Создание в группе Таблицы нажмите кнопку Таблица. Office Access 2007 добавляет в базу данных новую пустую таблицу. Sql выборка из нескольких таблиц Этот шаг следует выполнять не при открытии новой пустой sql выборка из нескольких таблиц данных, но при добавлении таблицы в базу данных. Дважды щелкните первую ячейку в строке заголовка и введите имя поля из образца таблицы. По умолчанию приложение Access помечает пустые поля в строке заголовка текстом Добавить поле, например: Используя клавиши со стрелками, переместитесь к следующей пустой ячейке заголовка и введите имя второго поля также можно нажать клавишу TAB или дважды щелкнуть новую ячейку. Повторяйте эту процедуру для ввода всех имен полей. Введите данные в таблицу примера. При вводе информации в приложении Access каждой ячейке присваивается тип данных. Присвоение типов данных обеспечивает точность ввода информации и помогает предотвратить ошибки, например использование телефонного номера в вычислениях. Для каждого поля в таблице можно задать тип данных и sql выборка из нескольких таблиц определенных условиях изменить его. При создании таблицы примера присвоение типа данных должно осуществляться приложением Access. После завершения ввода данных, нажмите кнопку Сохранить. Появится диалоговое окно Сохранение документа. В поле Имя таблицы введите текст Клиенты и нажмите кнопку ОК. Скопируйте таблицу в программу электронных таблиц, а затем импортируйте её в приложение Access. Запустите программу электронных таблиц и создайте новый пустой файл. Если используется приложение Excel, то новая книга будет создана по умолчанию. Скопируйте представленную в предыдущем разделе таблицу примера и вставьте ее в первую ячейку первого листа. Следуя инструкциям программы электронных таблиц, sql выборка из нескольких таблиц листу имя «Клиенты». Сохраните файл таблицы в удобном месте и переходите к следующему шагу. Импорт таблицы в приложение Microsoft Access В новой или существующей базе данных выполните следующие действия. На вкладке Внешние данные в группе Импорт нажмите кнопку Excel. Появится диалоговое окно Внешние sql выборка из нескольких таблиц — Имя программы Электронная таблица. Нажмите кнопку Обзор, откройте файл таблицы, созданный на предыдущих шагах, а затем нажмите кнопку ОК. Откроется окно мастера импорта электронных таблиц. По умолчанию мастер выбирает первый лист в книге в рассматриваемом примере — лист «Клиенты»и данные из этого листа появляются в нижней части страницы мастера. На следующей странице мастера выберите пункт Первая строка содержит названия столбцов, а затем нажмите кнопку Далее. На следующей странице мастера пользователю будет предложено изменить имена полей и типы данных, чтобы исключить поля из импорта с помощью текстовых полей и списков в разделе Описание поля. Для данного примера этого не требуется. На следующей странице мастера в поле Описание поля выберите вариант Да Совпадения не допускаются из списка Индексированное поле и Длинное целое из списка Тип данных. Чтобы продолжить, нажмите кнопку Далее. На следующей странице мастера выберите элемент Определить ключ, выберите из списка значение КодКлиента, а затем нажмите кнопку Далее. По умолчанию в приложении Access к новой таблице применяется имя листа. Убедитесь в том, что таблица называется «Клиенты», а затем нажмите кнопку Готово. На последней странице мастера можно сохранить процедуру импорта для дальнейшего использования. Так как выполняется импорт таблицы примера, сохранять процедуру импорта не рекомендуется. Примечание Если программа электронных таблиц не установлена, данные примера можно скопировать в текстовый редактор, например в Блокнот. Дополнительные сведения об импортировании текстовых данных см. В упражнении для создания запроса на основе созданной таблицы используется мастер. Созданный запрос изменяется в режиме конструктора. На любом этапе можно просмотреть инструкцию SQL, которая автоматически создается при выполнении шагов. На вкладке Создание в группе Прочее выберите пункт Мастер запросов. В диалоговом окне Новый запрос выберите в списке строку Простой запрос и нажмите кнопку OK. В группе Таблицы и запросы выберите таблицу, содержащую нужные данные. В данном случае это таблица Клиенты. Обратите внимание на то, что в качестве источника данных можно использовать другой запрос. В группе Доступные поля дважды щелкните поля Sql выборка из нескольких таблиц, Адрес, Телефон и Город. При этом они добавляются в список Выбранные поля. После добавления всех четырех полей нажмите кнопку Далее. Присвойте запросу имя Контакты в Твери, а затем нажмите кнопку Готово. В приложении Access все записи о контактах будут отображены в режиме таблицы. В результаты включаются все записи, но при этом отображаются только четыре поля, указанные в запросе. Обзор исходной инструкции SQL Нажмите кнопку Режим Sql выборка из нескольких таблиц в строке состояния приложения Access либо щелкните правой кнопкой мыши ярлык объекта запроса, а затем выберите команду Режим SQL. В приложении Access запрос открывается в режиме SQL и отображает следующие данные: SELECT Customers. Примечание Если sql выборка из нескольких таблиц добавлялись в порядке, отличном от описанного на предыдущем шаге, это будет отражено в операторе SELECT. Обратите внимание на то, что он сохраняется автоматически. Добавление условий в запрос Чтобы ограничить результаты запроса определенными записями, можно задать одно или несколько условий. Критерий запроса можно использовать в качестве условия для поля. В условии указываются значения поля, которые требуется включить в запрос, например «отображать только записи, в которых поле «Город» имеет значение «Тверь»». Откройте запрос в режиме конструктора. В поля запроса добавьте условие, чтобы в результаты включались только записи о контактах, проживающих в Твери. Для уточнения результатов поиска также можно добавить условия для полей «Адрес» и «Телефон». В строке Условия поля «Город» введите Тверь. Затем добавьте еще два условия, чтобы сузить результаты поиска. Предположим, что требуется отобразить только те записи, в которых присутствуют адрес и номер телефона. В строку Условия поля «Адрес» введите значение Is Sql выборка из нескольких таблиц Null AND "". Введите то же значение в строке Условия поля «Телефон». Примечание Условие Is Not Null AND "" является истинным, если поле содержит любое известное не пустое значение. Условие является ложным, если поле не содержит известного значения Null или значение заведомо пустое "". Этим выражением можно проверять поле на наличие известного не пустого значения. Переключитесь в режим таблицы, чтобы просмотреть результаты. Просмотр SQL-выражения с условием Нажмите кнопку Режим SQL в строке состояния приложения Access либо щелкните правой кнопкой мыши ярлык документа запроса, а затем выберите команду Режим Sql выборка из нескольких таблиц. В приложении Access отображается следующий SQL-код: SELECT Customers. Указанные для полей запроса условия в SQL отображаются sql выборка из нескольких таблиц операторе WHERE. В данном случае они связаны оператором AND. Что необходимо сделать, чтобы условия не объединялись оператором AND? Другими словами, что следует сделать, чтобы возвращаемые записи удовлетворяли одному из условий или обоим? Укажите альтернативные наборы условий с помощью оператора OR. Предположим, что требуется включить в результаты все записи, в которых поле «Город» имеет значение «Тверь», и указаны сведения о контакте — адрес или номер телефона. Чтобы совместить условия, можно использовать оператор OR, например: Чтобы задать взаимоисключающие условия, используйте sql выборка из нескольких таблиц Условия и Или в бланке запроса. В этом случае результаты запроса будут sql выборка из нескольких таблиц все записи, удовлетворяющие одному из условий, определенных в строке Условия или Или. Теперь необходимо изменить запрос, задав взаимоисключающие условия в строках Условия и Или. Переключитесь в режим конструктора. Удалите запись Is Not Null AND "" из строки Условия поля «Телефон». В строке Или поля «Телефон» введите значение Is Not Null AND "". В строке Или поля «Город» введите его название — Тверь. Переключитесь в режим таблицы, чтобы просмотреть результаты. Результаты запроса содержат все записи, в которых указан либо адрес, либо номер телефона, либо и то, и другое, а поле «Город» имеет значение «Тверь». Примечание Чтобы задать более двух наборов взаимоисключающих условий, используйте строку ниже строки Или. Каждая строка содержит независимый набор условий. Просмотр SQL-выражения с измененным условием Нажмите кнопку Режим SQL в строке состояния приложения Access либо щелкните правой кнопкой мыши ярлык документа запроса, а затем выберите команду Режим SQL. В приложении Access отображается следующий SQL-код: SELECT Customers. Дополнительные сведения о задании условий для полей различных типов см. Добавление операций в запрос В таблицах хорошо структурированной базы данных хранятся простые вычисляемые значения. Например, в таблицах можно хранить даты рождения сотрудников, но не их возраст. Хранить такие данные в таблицах нет необходимости, т. Для этого sql выборка из нескольких таблиц создать запрос для расчета и отображения нужного значения. Вычисления выполняются при каждом запуске запроса, поэтому в случае изменения данных в базе изменяются и результаты вычислений. Цель данного упражнения — изменить запрос «Контакты в Твери» таким образом, чтобы он отображал дату рождения и возраст каждого из контактных лиц. Откройте запрос в режиме конструктора. Из окна таблицы «Клиенты» перетащите поле «ДатаРождения» в первый пустой столбец бланка запроса. Можно также дважды щелкнуть имя поля, sql выборка из нескольких таблиц автоматически добавить его в первый пустой столбец. «Возраст» sql выборка из нескольких таблиц это имя вычисляемого поля. Если имя не указано пользователем, в приложении Access используется общее имя, например Выражение1. Строка после двоеточия : представляет собой выражение, которое служит для получения значений для каждой записи. С помощью функции DateDiff рассчитывается разница между двумя датами, после чего это значение возвращается в заданном формате. Примечание Используемая в этом примере методика расчета возраста зависит от текущего месяца и может быть неточной. Переключитесь в режим таблицы. В результатах запроса отображаются два дополнительных поля: «ДатаРождения» и «Возраст». Просмотр SQL-выражения с вычислениями Нажмите кнопку Режим SQL в строке состояния приложения Access sql выборка из нескольких таблиц щелкните правой кнопкой мыши ярлык документа запроса, а затем выберите команду Режим SQL. В приложении Access отображается sql выборка из нескольких таблиц SQL-код: SELECT Customers. Ключевое слово AS используется для указания имени рассчитанного поля. Дополнительную информацию о составлении выражений, рассчитывающих значения в запросе, см. Вычисление итоговых значений запроса Вычисление итога для столбцов запроса в приложении Office Access 2007 упростилось по сравнению с предыдущими версиями приложения Access. Для каждого столбца можно использовать отдельную статистическую функцию. Можно также отменить вычисление итога для столбца. Цель этого упражнения — изменение запроса «Контакты в Твери» для отображения в нем строки Итог. Откройте запрос в режиме таблицы. На вкладке Главная в группе Записи щелкните Итоги. Щелкните строку Итог в столбце «Контакт». В раскрывающемся списке выберите одно из значений: Нет и Количество значений. Поскольку столбец «Контакт» содержит текстовые значения, другие функции, такие как Сумма и Среднее не используются и поэтому недоступны. Выберите функцию Количество значений для подсчета числа контактов, отображаемых в результатах запроса. В строке Итог будет отображено число 5. В поле «Возраст» выберите функцию Среднее. Поскольку поле «Возраст» содержит числовое значение, в нем поддерживаются функции Сумма, Среднее, Количество значений, Максимальное значение, Минимальное значение, Стандартное отклонение и Дисперсия. В строке Итог будет отображен средний возраст. Чтобы очистить итоговое значение для столбца, щелкните строку Итог в этом столбце, а затем выберите из раскрывающегося sql выборка из нескольких таблиц значение Нет. Чтобы скрыть строку Итог, на вкладке Главная в группе Тип данных и форматирование снимите флажок Итоги. Примечание Использование строки Итоги не изменяет базового выражения SQL. Чтобы защитить вашу конфиденциальность, не указывайте контактные данные в своем отзыве.

Смотрите также:

Написать комментарий

:D:-):(:o8O:?8):lol::x:P:oops::cry::evil::twisted::roll::wink::!::?::idea::arrow: