FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como son evaluadas las sentencias sql
Hola me gustaría que alguien me comente como funcionan las sentencias SQL
trabajo con Paradox y Delphi 5 estando las tablas en el servidor. El archivo Bene.db tiene 262 registros con solo 2 campos El archivo Clientes.db tiene 6000 registros y alrededor de 100 campos El archivo Benellama.db tiene 2 registros y 8 campos. Los 3 archivos tienen un campo llamado idcliente que es el que uso para los joins, con la relacion 1 a 1 entre Bene y clientes y 1 a muchos entre esos y Benellama. Como resultado de la consulta necesito ver todos los registros del arch. Bene.db con los correspondientes datos que tengo guardados en el arch Clientes.db. Como la consulta tardaba bastante empece a cambiar el armado de la instrucción y las fui probando el Sql Explorer con el siguiente resultado. 1) select * from bene.db b left outer join clientes.db c on b.idcliente =c.idcliente Tardo +-20 segundos. Me muestra 262 registros con todos sus datos. 2) select * from clientes.db c right outer join bene.db b on b.idcliente =c.idcliente Tardo +-20 segundos. Me muestra 262 registros con todos sus datos. 3) decidi agregarle el arch benellama.db , usando un select distinct para eliminar los duplicados. select distinct(idcliente), ape, domi, loca,pro from bene.db b left outer join benellama.db d on d.idcliente=b.idcliente left outer join clientes.db c on c.idcliente=b.idcliente Tardo “+- 5 segundos”. Me muestra 262 registros con todos sus datos. 4) Por ultimo probé con: select * from bene.db b left outer join bene.db x on x.idcliente=b.idcliente left outer join clientes.db c on c.idcliente=b.idcliente Tardo “+- 5 segundos”. Me muestra 262 registros con todos sus datos y es similar a la 1 consulta. Gracias de Antemano. PD: Puede ocasionar algún problema trabajar con esta última consulta? |
|
|
|