Veja só... o caso do () parenteses, o comportamento é como na matematica, 
dependendo da posicao eles vao te trazer um resultado.

Exemplo:

(1+1) * 3
é diferente de
1+(1 * 3)

Mas no seu exemplo o resultado será o mesmo.

Agora vamos a alguns exemplos onde os resultados podem ser diferentes:

SELECT * FROM TABELA
WHERE CAMPO1 = VALOR
AND CAMPO2 = VALOR

Esse seria um select simples, agora um pra pensar um pouco mais

SELECT * FROM TABELA
WHERE (CAMPO1 = VALOR)
AND(CAMPO2 = VALOR)
OR(CAMPO3 = VALOR)

Hum... veja o OR... dependendo de onde colocar os () o resultado será 
diferente, veja:

SELECT * FROM TABELA
WHERE (CAMPO1 = VALOR)
AND (CAMPO2 = VALOR
OR CAMPO3 = VALOR)

Veja que o OR agora faz parte do CAMPO2 e 3, dessa forma a pesquisa precisa 
satisfazer o capo 1 obrigatoriamente mais o 2 "ou o" 3 

Espero ter sido claro


Marcelo Silva
------------------------------------------------
msn: [email protected]
cel.: (11) 9693-4251
Kubuntu User number is # 24362 
  ----- Original Message ----- 
  From: Emanuel Araújo 
  To: [email protected] 
  Sent: Thursday, September 23, 2010 8:56 AM
  Subject: [pgbr-geral] AND e (AND)


  Srs.

  Gostaria de Saber se existe uma real diferença entre usar a consulta com:

  SELECT ... FROM ...
  WHERE t1.p = XX
       AND t2.q = YY

  e

  SELECT ... FROM ...
  WHERE ( t1.p = XX  AND t2.q = YY )

  Ao meu ver não, pois as cláusulas terão que ser verdadeiras independente do 
"( )" para satisfazer o esperado.

  Agradeço


  -- 
  Atenciosamente,

  Emanuel Araújo
  http://eacshm.wordpress.com




------------------------------------------------------------------------------


  _______________________________________________
  pgbr-geral mailing list
  [email protected]
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a