Programista PHP MySQL
о программировании на PHP несколько слов

Подзапросы в MySQL 4.1

Опубликованные в пятницу, 9 июня 2006 года Лука Jarzembowski

Я только что обнаружил потенциал подзапросы в 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 Лука Jarzembowski, автор блога - с 2006 года в иллюзию, что он будет богат ... ;-) Но еще работаем над этим. программ , блогов , и позиции , создания и продвижения их электронного бизнеса . kontakt

Записи похожи на "подзапросы в MySQL 4.1"

    Нет соответствующих должностей

Комментировать