Multiplos operadores OR em uma cláusula WHERE na consulta SQL

Me deparei com uma necessidade recentemente, que embora parecesse tão óbvia, eu nunca tinha precisado fazer.

Aninhar uma consulta com vários operadores OR seguido de um operador AND no final, foi onde descobri sem querer, na verdade, nem sei onde tem isto na documentação do MySQL, por exemplo:

Se executar a consulta:

 lang="sql

SELECT * FROM tabela

WHERE

    campo1 = 'valor1'

OR

   campo1 = 'valor2'

OR

   campo1 = 'valor3'

AND

   campo2 = '0'

O resultado não vai ser o desejado, porque os operadores OR, vão anular o efeito do operador AND, então como resolver isto?

Bom, ai apareceu a mágica que descobri sozinho, colocar a parte dos operadores OR dentro de parenteses:

 lang="sql

SELECT * FROM tabela

WHERE

(

       campo1 = 'valor1'

   OR

       campo1 = 'valor2'

   OR

       campo1 = 'valor3'

)

AND

   campo2 = '0'

Agora sim, a consulta vai verificar os operadores OR e incluir o operador AND!

SQL dos municipios do IBGE para MySQL

ATUALIZADO PARA A NOVA VERSÃO DE 7 DÍGITOS E MAS MANTIDA A DE 6 DÍGITOS PARA COMPATIBILIDADE

Estava eu trabalhando num projeto, quando de repente, me deparei com a necessidade de utilizar o cadastro do código IBGE dos municípios e ao mesmo tempo me deparei novamente com a situação do Brasil.

Download do arquivo SQL no final do post

Leia mais

Como Carregar Arquivo .SQL para o MySQL

Já pensou ter que digitar intermináveis linhas no terminal do mysql para criar, atualizar, excluir, gerenciar ou inserir dados no MySQL?

Então, isto é uma situação que às vezes chega a ser desconfortante.

Entretanto, não precisa sofrer não.

Faça o que você tem que fazer no seu editor de textos preferido (Bloco de Notas, Notepad++, Gedit, Kedit, etc…) , salve este arquivo e carregue diretamente dentro do MySQL.

Leia mais

Classe de Paginação com PDO

Já há algum tempo que escolhi o PDO como classe para trabalhar com banco de dados no PHP,

e não por menos encontrei problemas com paginação de resultados.

Num domingo, resolvi criar um código estruturado para paginar um site que desenvolvi em www.himoveis.com.

Então hoje resolvi criar uma classe baseada neste código.

Leia mais

Carregar Dados Para Uma Tabela do MySQL com Arquivo de Textos

Antes de iniciar abra o Cliente do MySQL para linha de comando.

O MySQL oferece duas formas de se inserir dados em tabelas.

  1. Utilizando o comando SQL INSERT
  2. Carregando um arquivo externo no formato de texto via LOAD DATA

O objetivo deste post é mostrar como solucionar o problema de ter que inserir muitos dados.

Para você carregar dados para dentro do mysql com um arquivo de texto, primeiramente você precisa seguir um padrão.

Leia mais