Subconsultas en MySQL 4.1
Acabo de descubrir el potencial de las subconsultas en MySQL. Aunque esta posibilidad se ha introducido hace mucho tiempo, pero hasta ahora esto no estaba interesado ...
La razón era muy simple - la mayoría de los servidores en los que trabajé fue la instalación de versiones anteriores. Los administradores tienen miedo de instalar nuevas versiones de bases de datos por varias razones:
- incertidumbre de la acción - MySQL es Open Source y se modifica con frecuencia. El número de versiones de prueba, beta, el desarrollo, y así evitar la aplicación de los nuevos productos para servidores comerciales - sería demasiado frecuentes "accidentes"
- problema con la transmisión de datos - los nuevos motores no se pueden interpretar los archivos de base de datos de versiones anteriores. La manera más segura de moverse es para exportar e importar datos, que a su vez es mucho tiempo
- algunas empresas se adhieren a la política - ¿por qué modificar algo que funciona bien? De hecho, la falta de subconsultas en MySQL se puede "moverse", haciendo un bucle en PHP.
Cómo utilizar subconsultas? Por ejemplo, he desarrollado mi problema:
Estamos buscando a los datos completos (título, contenido, etc). Reciente artículo publicado en cada sección.
Utilizando una versión anterior a 4.1 problema podría resolverse de dos maneras:
- Hacer una consulta para buscar todos los artículos y los grupos que wegług departamento. A continuación, el ciclo que PHP y para cada partida nos encontramos con un artículo (reciente).
- Les pedimos que se ven después de la aparición de los últimos artículos de los departamentos - SELECT `departamento`, MAX (`date`) `GROUP BY` id_dzial. A continuación, busque estos artículos. Después adecuada disección de los resultados de las investigaciones anteriores, en busca de los detalles de estos artículos puede obsłóżyć "única selección" (*)
Este es el segundo método utilizado para crear una sola consulta con subconsultas. Se parece a esto:
SELECT * FROM `artículos` WHERE (`departamento`, `los datos ')
EN
(
SELECT `departamento`, MAX (`date`) FROM `GRUPO artículos` por `` departamento de
)
ORDER BY `date` DESC
Parte de ello se refleja en la subconsulta. Espero que el código es comprensible. Funciona exactamente igual que la solución a (*), excepto que todo el procesamiento de datos se realiza en el MySQL - PHP obtener una respuesta concreta a poner el problema. Esto simplifica una legibilidad muy complicado y de código de aplicación.
Desafortunadamente, algunas compañías de hosting no están todavía en su versión de los servidores MySQL'aw 4.1 o posterior. Yo recomendaría esta empresa - su alojamiento sin duda compatible con MySQL 4.1. Lo sé porque yo estoy usando
Lucas Jarzembowski, autor del blog - desde el año 2006 con la ilusión de que va a ser rico ... ;-) Pero sigue trabajando duro en esto. Programas , los blogs y las posiciones , creación y promoción de sus negocios electrónicos . 
Entradas similares a "Subconsultas en MySQL 4.1"
- No related posts

















