Cita:
Empezado por roman
Entiendo lo que dices y voy de acuerdo en que resulta más legible pero como dice Casimiro, ¿no es ineficiente?
|
Desconozco el tema de otros motores, pero en el caso de Oracle, el analizador/optimizador hace maravillas, por lo que no llegarán a ejecutarse dos consultas, una que devuelva un millón de registros y otra 999,999, para hacer la resta y devolver solo uno al final.
Oracle está en capacidad de encontrar una ruta óptima para realizar la consulta. Lo importante, como ya he resaltado, es que es mas semantico, por llamarle de alguna forma.
Cita:
Empezado por roman
Digamos, algo como lo que ejemplificas, supongo que también puede hacerse con una subconsulta NOT IN que tengo entendido es más lenta que un JOIN. Ese minus, ¿no es como una subconsulta?
|
Muchos de los problemas que pueden resolverse con minus pueden resolverse con un not in o a veces dentro de un query sin ellos, por lo que no resulta "indispensable".
Sin embargo, si se da la opción de elegir, teniendo en cuenta que el motor sea capaz de procesarlo de manera optima, yo me quedo con los operadores sobre conjuntos.. (y muchos otros "analíticos" que tiene el oracle ese...)