Расширенные запросы.

Вернуться в каталог

Как раскрутить сайт:

Каталог - это...
Поисковик - это...
Поисковики 1993г
Поисковики 1994г
Список каталогов
Каталоги для PR
Каталоги белые
Каталоги белые
Белые каталоги ссылок
Белые каталоги ссылок
Каталоги
Протокол HTTP 1.1
Сайты сателлиты
Yandex бан
Ошибки начинающих
Ошибки webмастера
Что Гугл знает?
О сайте из Google
robots.txt
Социалки
Расчет PageRank
Как раскрутить сайт
Причины игнора сайта
Фильтры Гугла
Хороший дизайн

Может пригодиться:


Залог хорошего сайта
Софт вебмастеру
Выбрать хостинг
Платформы хостинга
Виртуальный сервер
Продвижение сайта
Секреты раскрутки 1
Секреты раскрутки 2
Раскруточные мифы
Оптимизация под каталоги
Заработать на сайте
Размещение банеров
Защита сайта
Спам в поздравлениях
SEO продвижение
Раскрутка Дорвеями
Секреты Гугла
Ссылки google ТОП-10
Сниппеты
Ключевые слова
Редирект
Грязная линковка
SEO слэнг
Подробно о PR
Бан партнерки

Реклама:


О поисковых системах
Внутренние факторы
Внешние факторы
Индексация сайта
Фильтры
Различия поисковых
Semonitor
Сохранить позиции после редизайна
Секреты Гугла


  • Вернуться в каталог





  • Rambler's Top100

    Расширенные запросы.


    В главе 4 мы обсудили простые запросы на языке SQL. Данная глава посвящена рассмотрению более сложных запросов, включая те, которые предполагают объединение таблиц, - одно из самых мощных средств SQL.



    Объединения

    B реляционных базах информация может быть распределена по нескольким таблицам. Это делается в основном для того, чтобы исключить дублирование данных. Столбец таблицы, содержимое которого может использоваться как уникaльный идентифика­тор строки, называется первичным ключом (primary key). Столбец другой таблицы, который ссылается на первичный ключ, называют внешним ключом (fore­ign 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
    Особенности таблиц
    Еще о таблицах

    Вернуться в каталог