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

Duda Sentencia SQL

Estas en el tema de Duda Sentencia SQL en el foro de SQL Server en Foros del Web. Hola a tod@s. Tengo una duda respecto a la manera de actuar del sql. Estoy trabajando con varias tablas a la vez. ¿Da igual escribir ...
  #1 (permalink)  
Antiguo 24/05/2006, 03:01
 
Fecha de Ingreso: agosto-2002
Mensajes: 29
Antigüedad: 21 años, 8 meses
Puntos: 0
Pregunta Duda Sentencia SQL

Hola a tod@s.

Tengo una duda respecto a la manera de actuar del sql.
Estoy trabajando con varias tablas a la vez.
¿Da igual escribir todas las tablas en el FROM que utilizar JOIN's?.
Internamente he comprobado que cuando escribo todas las tablas en el FROM el compilador me reinterpreta (parsea) la sentencia y me la convierte a JOIN's.

Yo tenía entendido que cuando utilizabas FROM primero te trae todos los datos de todas las tablas y luego filtra según lo indicado en el WHERE. Cuando utilizas JOIN no te trae todos los datos de todas las tablas, filtra primero en función de las claves y luego vuelve a filtrar otra vez según lo indicado en el WHERE.

¿El rendimiento es el mismo?.

Un saludo.

Ejm:

select ... from t1, t2, t3, t4, t5 where t1.1=t2.1 and t2.2=t3.2 ....
select ... from t1 inner join t2 ... inner join t3 ... inner join t4 ... inner join t5 ... where ...
  #2 (permalink)  
Antiguo 24/05/2006, 15:22
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Hace unos temas se manejó lo mismo. Seguramente en la segunda o tercera página lo encontrarás.

Mis descubrimientos personales se resumen a los tuyos. El optimizador de SQL te lo traduce a JOINs internamente dando el mismo efecto y rendimiento.

Aunque usar JOINS es una práctica mucho más limpia y entendible.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 04:51.