Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

condicion WHERE 1

Estas en el tema de condicion WHERE 1 en el foro de Bases de Datos General en Foros del Web. Hola amigos, En el phpmyadmin siempre que abres la ventana de consulta sql te aparece esto: SELECT * FROM ´tabla´ WHERE 1 y no se ...
  #1 (permalink)  
Antiguo 27/04/2009, 03:35
 
Fecha de Ingreso: abril-2008
Ubicación: Aquí y Allá
Mensajes: 88
Antigüedad: 16 años, 7 meses
Puntos: 3
Sonrisa condicion WHERE 1

Hola amigos,

En el phpmyadmin siempre que abres la ventana de consulta sql te aparece esto:

SELECT * FROM ´tabla´ WHERE 1

y no se que significa esa condicion WHERE 1

Muchas gracias por adelantado,

Un saludo a todos!!
__________________
Nadie es perfecto: los errores de los cocineros se tapan con mayonesa, los errores de los albañiles se tapan con cemento y los errores de los medicos se tapan con tierra.
  #2 (permalink)  
Antiguo 27/04/2009, 04:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: condicion WHERE 1

Yo también me he preguntado muchas veces por qué.
Una hipótesis: where 1 quiere decir SELECCIONAR ... DE LA TABLA cuyo resultado sea true. Se trataría de una búsqueda booleana no sobre columna sino sobre el resultado mismo de la consulta. Siempre se ha dicho que MySQL es más eficiente con where 1 que sin where. En el primer caso devolvería todos los registros de la consulta que devolvieran true (como no se especifica condición, los devuelve todos); la segunda recorre todos los registros y los devuelve. Yo, que no estoy seguro de esto, he hecho alguna prueba y devuelve todo cualquiera que sea el número, excepto el cero. Me da la impresión de que 0 es false, y todo lo demás funcionaría como true, pero no me atrevo a darlo por seguro.
Sobre el posible mito de las ventajas de where 1:
http://www.phpro.org/articles/MySQL-...re-1-Myth.html

Seguro que nos lo aclararán.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.