Подзапросы в MySQL 4.1
Я только что обнаружил потенциал подзапросы в MySQL. Хотя эта возможность была введена давно, но до сих пор это не было интересно ...
Причина очень проста - большинство серверов, на которых я работал, была установка более ранних версий. Администраторы боятся устанавливать новые версии баз данных по нескольким причинам:
- Неопределенность действий - MySQL с открытым исходным кодом и часто изменяется. Количество демо-версии, бета-, развития и так помешала осуществлению любых новых продуктов для коммерческих серверов - было бы слишком часто "падает"
- Проблема с передачей данных - новые двигатели не может интерпретировать файлы баз данных из предыдущих версий. Самый надежный способ перемещения для экспорта и импорта данных, которая в свою очередь, очень много времени
- Некоторые компании придерживаются политики - зачем изменять то, что хорошо работает? Действительно, отсутствие подзапросы в MySQL можно "обойти" делает петлю в PHP.
Как использовать подзапросы? Например, я разработал свою задачу:
Мы ищем полные данные (название, содержание и т.д.). Последние статьи в каждом разделе.
Использование версии старше 4,1 вопрос может быть решен двумя способами:
- Сделать запрос на поиск всех статей и группирует их wegług отдела. Затем цикл PHP и для каждой рубрики мы находим (последние) статьи.
- Мы просим, чтобы ухаживать за появление последних статей в департаментах - SELECT `отдел`, MAX (`` дата) GROUP BY `id_dzial`. Тогда посмотрите на эти статьи. После надлежащего расчлененный результаты предыдущих запросов, поиск деталей из этих статей может obsłóżyć "выберите один" (*)
Именно этот второй метод используется для создания одного запроса с подзапросами. Это будет выглядеть следующим образом:
SELECT * FROM `статьи` WHERE (`отдел`, `данных`)
В
(
SELECT `отдел`, MAX (`Дата`) FROM `GROUP BY` статьи `отдел`
)
ORDER BY `Дата` DESC
Часть этого будет выделена в подзапросе. Я надеюсь, что код понятен. Это работает точно так же, как и решение (*), за исключением того, что все обработки данных производится на MySQL - PHP получить конкретный ответ поставить проблему. Это упрощает очень сложным и читабельности кода приложения.
К сожалению, некоторые хостинговые компании все еще не на своих серверах MySQL'aw версии 4.1 или более поздней. Я бы рекомендовал эту компанию - их хостинга, конечно, поддерживает MySQL 4.1. Я знаю, потому что я использую
Лука Jarzembowski, автор блога - с 2006 года в иллюзию, что он будет богат ... ;-) Но еще работаем над этим. программ , блогов , и позиции , создания и продвижения их электронного бизнеса . 
Записи похожи на "подзапросы в MySQL 4.1"
- Нет соответствующих должностей

















