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

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

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

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

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


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

Реклама:


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


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





  • Rambler's Top100

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


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



    Использование вложенного запроса для фильтрации

    SELECT столбцы
    FROM таблица_1
    WHERE столбец_1 IN
    SELECT столбец_2
    FROM таблица_2
    WHERE ...
    );

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

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

    SELECT DISTINCT p.name
    FROM loan 1
    JOIN person p
    ON p.person_id = 1.person_id
    WHERE 1.book_id IN(
    SELECT book_id FROM book
    WHERE cond in ('mint', 'good')
    );

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

    SELECT book_id FROM book
    WHERE cond IN ('mint', 'good');

    Результаты будут иметь следующий вид:

    book_id
    1
    2
    4

    Имея эту информацию, видно, что главный запрос сводится к следующему:

    SELECT DISTINCT p.name
    FROM loan 1
    JOIN person р
    ON p.person_id = 1.person_id
    WHERE 1.book_id IN (1, 2, 4);

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



    Спонсор сайта:




    Пер. с англ. - М.: ООО "И.Д.Вильямс", 2006.

    Основы MySQL:

    Введение
    Схема MySQL
    Управление базами
    Создание баз
    Создание таблиц
    Создание столбцов
    Идентификаторы
    Хранение данных
    Включение даты
    Импорт данных
    Включение данных
    Простые запросы
    Устранение повторов
    Обработка значений
    Значения NULL
    Обработка данных
    Оновление значений
    Безопасность
    Удаление записей

    Спонсор сайта:


    Установка паролей
    Установка привилегий
    Клиентская часть
    Параметры соединения
    MySQL АРI
    Запросы АРI
    АРI для Perl
    РНР АРI
    Расширенные запросы
    Ключевое слово JOIN
    Вложенные запросы
    Выбор результатов
    Проблемы MySQL
    Восстановление базы
    Частые ошибки
    Кол-во соединений
    Подготовка к работе
    В курс дела
    Имена столбцов

    Реклама:


    Внесение данных
    Внесение данных 2
    Особенности таблиц
    Еще о таблицах

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