Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2014
NISOTO NISOTO is offline
Miembro
 
Registrado: abr 2012
Ubicación: RIOHACHA - LA GUAJIRA
Posts: 27
Poder: 0
NISOTO Va por buen camino
Duda en consulta en firebird 2.5 con 3 tablas

Hola a todos,
Tengo una inquietud para ver si me pueden orientar en esto

Tengo esta consulta en firebird 2.5, con 3 tablas (NOTAS, ALUMNOS, GIMNASIO)


select
N.ESTUDIANTE, N.AULA, N.PERIODO, N.ACTUAL, A.NOMBRES, A.APELLIDOS, G.ANUAL
from
NOTAS N, ALUMNOS A, GIMNASIO G
where
N.ESTUDIANTE=A.ID_ALUMNO and N.PERIODO=G.ANUAL

Mi pregunta es si este codigo lo puedo mejorar con JOIN para que funcione mejor.

Ok, gracias
Responder Con Cita
  #2  
Antiguo 19-02-2014
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 645
Poder: 12
TiammatMX Va camino a la fama
Cita:
Empezado por NISOTO Ver Mensaje
...Mi pregunta es si este codigo lo puedo mejorar con JOIN para que funcione mejor...
¡¡Por supuesto que sí!! Todo código es mejorable y mientras más óptimo sea un enunciado SQL, menos tiempo y carga de servidor utilizará. Sin dudarlo, usa JOIN's...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #3  
Antiguo 20-02-2014
NISOTO NISOTO is offline
Miembro
 
Registrado: abr 2012
Ubicación: RIOHACHA - LA GUAJIRA
Posts: 27
Poder: 0
NISOTO Va por buen camino
Ok, gracias.
Responder Con Cita
  #4  
Antiguo 20-02-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.138
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Cita:
Empezado por NISOTO Ver Mensaje

Mi pregunta es si este codigo lo puedo mejorar con JOIN para que funcione mejor.
De hecho, ya estás usando un JOIN (implícito).Tu consulta SQL es equivalente a esta otra:

Código SQL [-]
select
  N.ESTUDIANTE, N.AULA, N.PERIODO, N.ACTUAL, A.NOMBRES, A.APELLIDOS, G.ANUAL
from
  NOTAS N
inner join ALUMNOS A on N.ESTUDIANTE=A.ID_ALUMNO
inner join GIMNASIO G on N.PERIODO=G.ANUAL

Si por alguna razón sientes que la consulta es lenta, entonces lo que tienes que revisar son los índices. Por ejemplo, que tu tabla de NOTAS tenga un índice sobre el campo ESTUDIANTE.

// Saludos
Responder Con Cita
  #5  
Antiguo 21-02-2014
NISOTO NISOTO is offline
Miembro
 
Registrado: abr 2012
Ubicación: RIOHACHA - LA GUAJIRA
Posts: 27
Poder: 0
NISOTO Va por buen camino
Gracias Roman,

El metodo con los Join funciona mas veloz que el anterior.

No pense que SQL fuera tan potente, de haberlo sabido hubiera dejado las tablas planas desde un principio.
Responder Con Cita
  #6  
Antiguo 21-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.572
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por NISOTO Ver Mensaje
No pense que SQL fuera tan potente, de haberlo sabido hubiera dejado las tablas planas desde un principio.
No hay comparación.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta de dos tablas Firebird jafera SQL 6 25-07-2010 01:37:50
Duda con consulta y firebird 2.1 sargento elias Firebird e Interbase 9 10-06-2008 12:02:53
Duda Con Tablas lucero_chivas C++ Builder 1 28-01-2006 02:18:48
Duda sobre tabla access de varias tablas Mathom Varios 28 24-11-2005 19:09:50
Duda Sobre Tablas Epunamun Conexión con bases de datos 1 28-07-2005 21:27:09


La franja horaria es GMT +2. Ahora son las 14:15:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi