Programista PHP MySQL
sobre programação em PHP poucas palavras

Subconsultas na versão 4.1

Publicado na Sexta-feira, 9 de Junho de 2006 Jarzembowski Lucas

Acabei de descobrir o potencial de subconsultas em MySQL. É verdade que essa possibilidade foi introduzida muito tempo atrás, mas até agora não estava interessado ...

A razão era muito simples - a maioria dos servidores em que eu trabalhei foi a instalação de versões mais antigas. Os administradores têm medo de instalar as novas versões dos bancos de dados por vários motivos:

  • incerteza de ação - O MySQL é de código aberto e é muitas vezes modificada. O número de versões de teste, beta, desenvolvimento, etc impediu a execução de qualquer notícia sobre a servidores comerciais - seria demasiado frequentes "falhas"
  • problema com a transferência de dados - os novos motores não consegue interpretar os arquivos de banco de dados de versões anteriores. O caminho certo para passar são os dados de exportação e importação, que por sua vez é muito demorado
  • algumas empresas aderem à política - o que modificar algo que funciona bem? Na verdade, a falta de subconsultas em MySQL poderia "evitar" a fazer o loop em PHP.

Como usar subqueries? Por exemplo, eu desenvolvi o meu problema:

Estamos à procura de dados completa (título, conteúdo, etc.) Artigo recente em cada seção.

Usando uma versão mais antiga que 4,1 problema poderia ser resolvido de duas maneiras:

  • Faça uma consulta buscando todos os artigos e os agrupa wegług departamento. Então nós loop PHP e para cada departamento, encontramos um artigo (mais recente).
  • Faça uma consulta de pesquisa após o aparecimento dos últimos artigos em seções - departamento SELECT `, MAX (` date `) GROUP BY` id_dzial ». Então olhe para esses artigos. Depois disso dissecados os resultados das pesquisas anteriores, em busca de detalhes sobre estes artigos podem obsłóżyć "uma escolha" (*)

Vou usar esse segundo método para criar uma única consulta com uma subconsulta. Ele vai olhar como se segue:


SELECT * FROM `artigos` WHERE (`departamento`, `data`)
EM
(
departamento SELECT `, MAX (data`) FROM `artigos` GROUP BY departamento `
)
ORDER BY data DESC `

Parte dela é enfatizada subconsulta. Espero que este código é compreensível. Ele funciona exatamente como a solução de (*), exceto que todo o processamento de dados é feito no MySQL - PHP obter uma resposta concreta para colocar o problema. Isso simplifica uma leitura muito complicada e do código do aplicativo.

Infelizmente, algumas empresas de hospedagem ainda não têm em seus servidores MySQL'aw versão 4.1 ou posterior. Eu recomendo esta empresa - a sua hospedagem certamente suporta MySQL 4.1. Eu sei porque eu uso o mesmo :-)

Se você gosta de reportagem, por favor ele
Compartilhe ou outros sites de rede social: Bookmark and Share
Categorias: Programação
Tags: , , , ,
Lucas Jarzembowski Jarzembowski Lucas, autor do blog - desde 2006 sob a ilusão de que ele vai ser rico ... ;-) Mas ainda está trabalhando duro para isso. Programas , blogs , e posições , criando e promovendo o seu e-negócios . kontakt

Entradas relacionadas com "Subconsultas no MySQL 4.1"

    Não há posts relacionados

Comentário