Sebastián Villalba escribió: > Hola Marcos. > > On Mon, 14 Jul 2008 10:22:07 -0400, Marcos Saldivar wrote > > Estimados tengo la siguiente duda, para una consulta como esta: > > > > select * from foo where foo.permiso = 'todos' or 1950 in (select > > miembro from miembros_grupos) > > > > Al cumplirse la condición "foo.permiso = 'todos'" es valido pensar > > que la sub consulta jamas se ejecutara ???? > > Muy válido. Saludos!
No necesariamente ... me parece que SQL no garantiza que las condiciones se evalúan de izquierda a derecha ... Supongo que es posible que por una cosa de rendimiento la condición que involucra la constante sea ejecutada antes que la otra, y que el motor se tome la libertad de eliminar el subselect. Por otro lado supongo que si el subselect incluyera cosas como una funcion volátil, no podría hacerlo. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
