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

Duda con sentencia sql

Estas en el tema de Duda con sentencia sql en el foro de Bases de Datos General en Foros del Web. Saludos, quisiera consultar con ud. si me pueden explicar la diferencia entre estos dos querys: Código: SELECT Alumno.Alumno, Notas.Nota1, Notas.Nota2 FROM Alumno, Notas WHERE Alumno.Id=Notas.IdAlumno ...
  #1 (permalink)  
Antiguo 20/12/2008, 13:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Mensaje Duda con sentencia sql

Saludos, quisiera consultar con ud. si me pueden explicar la diferencia entre estos dos querys:

Código:
SELECT Alumno.Alumno, Notas.Nota1, Notas.Nota2
FROM Alumno, Notas
WHERE Alumno.Id=Notas.IdAlumno AND Notas.Nota1>70 AND Notas.Nota2>70;
Código:
SELECT Alumno.Alumno, Notas.Nota1, Notas.Nota2
FROM Alumno INNER JOIN Notas ON Alumno.Id=Notas.IdAlumno
WHERE Nota1>70 AND Nota2>70;
Ambos despliegan la misma informacion, cuando se ejecutan.

Muchas Gracias por su ayuda.
  #2 (permalink)  
Antiguo 20/12/2008, 13:48
 
Fecha de Ingreso: octubre-2004
Mensajes: 88
Antigüedad: 19 años, 6 meses
Puntos: 2
Respuesta: Duda con sentencia sql

Es lo mismo, pero el INNER JOIN está más enfocado hacia el hecho de unir dos tablas pero tu las estas condicionando a que cumplan con esas caracteristicas.

SI te pones a analizar los procesos del SQL es más lento el INNER JOIN no se recomienda cuando tu consulta es muy grande
__________________
Consejos de Programación
  #3 (permalink)  
Antiguo 20/12/2008, 14:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Duda con sentencia sql

Gracias por tu respuesta, segun me indicas, si mi base de datos es pesada entonces es recomendable que use la primera opcion en lugar de usar el INNER JOIN?
  #4 (permalink)  
Antiguo 20/12/2008, 15:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Duda con sentencia sql

Yo no soy de la misma opinión, aunque sé que es un tema muy debatido. Creo que sólo cuando hay muy pocos registros es mejor este tipo de consulta. Cuando la tabla es grande y está bien indexada, creo que es preferible el inner join, y desde luego deja el código mucho más claro.
gnzsoloyo nos orienta mucho mejor en este post sobre el tema:
http://www.forosdelweb.com/f86/inner-join-644840/

Creo que en otro lo explicó todavía más ampliamente. Yo siempre aconsejo el uso de INNER JOIN cuando de cruzar tablas se trata, y dejo para restricciones más concretas el uso del WHERE.

saludos
  #5 (permalink)  
Antiguo 21/12/2008, 12:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
De acuerdo Respuesta: Duda con sentencia sql

Muchas gracias por tu respuesta y gracias por el enlace.

No estaba muy seguro al respecto de cual usar, muchas gracias, voy a leer bien el post.
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 17:40.