|
Расширенные запросы. |
Как раскрутить сайт:Каталог - это...Поисковик - это... Поисковики 1993г Поисковики 1994г Список каталогов Каталоги для PR Каталоги белые Каталоги белые Белые каталоги ссылок Белые каталоги ссылок Каталоги Протокол HTTP 1.1 Сайты сателлиты Yandex бан Ошибки начинающих Ошибки webмастера Что Гугл знает? О сайте из Google robots.txt Социалки Расчет PageRank Как раскрутить сайт Причины игнора сайта Фильтры Гугла Хороший дизайн
Может пригодиться:
Залог хорошего сайта Софт вебмастеру Выбрать хостинг Платформы хостинга Виртуальный сервер Продвижение сайта Секреты раскрутки 1 Секреты раскрутки 2 Раскруточные мифы Оптимизация под каталоги Заработать на сайте Размещение банеров Защита сайта Спам в поздравлениях SEO продвижение Раскрутка Дорвеями Секреты Гугла Ссылки google ТОП-10 Сниппеты Ключевые слова Редирект Грязная линковка SEO слэнг Подробно о PR Бан партнерки
Реклама:
О поисковых системах Внутренние факторы Внешние факторы Индексация сайта Фильтры Различия поисковых Semonitor Сохранить позиции после редизайна Секреты Гугла |
|
Расширенные запросы.
В главе 4 мы обсудили простые запросы на языке SQL. Данная глава посвящена рассмотрению более сложных запросов, включая те, которые предполагают объединение таблиц, - одно из самых мощных средств SQL. Объединения B реляционных базах информация может быть распределена по нескольким таблицам. Это делается в основном для того, чтобы исключить дублирование данных. Столбец таблицы, содержимое которого может использоваться как уникaльный идентификатор строки, называется первичным ключом (primary key). Столбец другой таблицы, который ссылается на первичный ключ, называют внешним ключом (foreign key). Обратимся к базе данных, используемой нами в качестве примера. Таблица book содержит первичный ключ c именем book_id. Этот ключ представляет собой числовое значение, однозначно идентифицирующее запись o конкретной книге в данной таблице. B таблице person первичным ключом является реrsоn_id. Таблица lоаn содержит информацию o книгах, которые были даны взаймы, и содержит ссылки на две другие таблицы. B ней присутствуют внешние ключи bооk_id и реrsоn_id, содержащие числовые значения, которые определяют строки в соответствующих таблицах. Если книга дается взаймы, в таблицу loan не помещается информация o человеке или o книге, т.е. дублирование данных не происходит. B таблице loan из дополнительных сведений нужна лишь дата; она хранится в столбце date_lent. Объединение таблиц SELECT столбцы FROM таблица_1, таблица_2 WHERE таблица_1. внешний_ключ = таблица_2. первичный_ключ; Для того чтобы сочетать данные из одной или нескольких таблиц и представить сведения из записей, на которые ссылаются внешние ключи, надо объединить таблицы. Чаще всего для этой цели в выражении FROM команды SELECT указывают список таблиц, a в выражении WHERE задают взаимосвязь между таблицами. B результате выполнения приведенного ниже запроса возвращаются данные o книгах, отданных во временное пользование. При этом объединяются данные из таблиц person и book. SЕLЕСТ 1oan.date_lent, person.name, book.title FROM loan, book, person WHERE 1oan.book_id = book.book_id AND 1oan.person_id = person.person_id; Имена таблиц, указываемые перед именами столбцов, уточняют, или квалифицируют, имена столбцов. Это важно, поскольку столбцы c одинаковыми именами могут присутствовать в различных таблицах. Если столбцы не уточнены, MySQL не может принять решение o том, к какой таблице относится запрос, и возвращает сообщение об ошибке. Желательно всегда уточнять столбцы, чтобы запрос интерпретировался однозначно и был удобен для восприятия. Выходные данные, полученные в результате выполнения рассмотренного выше запроса, выглядят следующим образом:
K запросу, предполагающему объединение таблиц, можно применить дополнительную фильтрацию, объединив различные условия c помощью ключевого слова AND. Важно, чтобы в запросе, объединяющем таблицы, было указано выражение WHERE, которое задает взаимосвязь между таблицами. При отсутствии данного выражения каждая строка из первой таблицы будет объединяться c каждой строкой второй таблицы. Полученный набор результатов слишком велик и, как правило, непригоден для использования.
Спонсор сайта:
Пер. с англ. - М.: ООО "И.Д.Вильямс", 2006. |
Основы MySQL:ВведениеСхема MySQL Управление базами Создание баз Создание таблиц Создание столбцов Идентификаторы Хранение данных Включение даты Импорт данных Включение данных Простые запросы Устранение повторов Обработка значений Значения NULL Обработка данных Оновление значений Безопасность Удаление записей
Спонсор сайта:
Установка паролей Установка привилегий Клиентская часть Параметры соединения MySQL АРI Запросы АРI АРI для Perl РНР АРI Расширенные запросы Ключевое слово JOIN Вложенные запросы Выбор результатов Проблемы MySQL Восстановление базы Частые ошибки Кол-во соединений Подготовка к работе В курс дела Имена столбцов
Реклама:
Внесение данных Внесение данных 2 Особенности таблиц Еще о таблицах |