|
Вложенные запросы. |
Как раскрутить сайт:Каталог - это...Поисковик - это... Поисковики 1993г Поисковики 1994г Список каталогов Каталоги для PR Каталоги белые Каталоги белые Белые каталоги ссылок Белые каталоги ссылок Каталоги Протокол HTTP 1.1 Сайты сателлиты Yandex бан Ошибки начинающих Ошибки webмастера Что Гугл знает? О сайте из Google robots.txt Социалки Расчет PageRank Как раскрутить сайт Причины игнора сайта Фильтры Гугла Хороший дизайн
Может пригодиться:
Залог хорошего сайта Софт вебмастеру Выбрать хостинг Платформы хостинга Виртуальный сервер Продвижение сайта Секреты раскрутки 1 Секреты раскрутки 2 Раскруточные мифы Оптимизация под каталоги Заработать на сайте Размещение банеров Защита сайта Спам в поздравлениях SEO продвижение Раскрутка Дорвеями Секреты Гугла Ссылки google ТОП-10 Сниппеты Ключевые слова Редирект Грязная линковка SEO слэнг Подробно о PR Бан партнерки
Реклама:
О поисковых системах Внутренние факторы Внешние факторы Индексация сайта Фильтры Различия поисковых Semonitor Сохранить позиции после редизайна Секреты Гугла |
|
Вложенные запросы.
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 Особенности таблиц Еще о таблицах |