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

existe left join implicito en mysql?

Estas en el tema de existe left join implicito en mysql? en el foro de Mysql en Foros del Web. hola a todos, mi consulta es si en el motor mysql existe el "left join implicito", y si existe cual es la sintaxis de la ...
  #1 (permalink)  
Antiguo 24/06/2009, 08:51
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
existe left join implicito en mysql?

hola a todos, mi consulta es si en el motor mysql existe el "left join implicito", y si existe cual es la sintaxis de la misma?

y pregunto eso, porque por ejemplo en sql server existe el left join implicito, y para ello se emplea el comodin: "*=", ej: tablaA(cod,nombre), tablaB(cod,nombre,tablaA_cod); entonces si quisiera un left join entre tablaA y la tablaB simplemente haria lo sgte en sql server:

"SELECT a.cod,a.nombre,b.cod,b.nombre FROM tablaA AS a,tablaB AS b WHERE a.cod*=b.tablaA_cod"

pdta:conozco la sintaxis del left join explicito en mysql, y procuro no usarlo

agradecere sus aportes, gracias.
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."

Última edición por gabrielflowers; 24/06/2009 a las 09:41
  #2 (permalink)  
Antiguo 24/06/2009, 09:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: existe left join implicito en mysql?

No existe un LEFT JOIN implícito en MySQL, al menos según los que dice la documentación oficial.
Ese tipo de cosas son en realidad extensiones que cada empresa desarrolladora le da a su versión de interprete/parser, pero no pertenecen al estándar ANSI-SQL, por lo que raramente se usan en otros motores y en realidad trae muchos problemas en las migraciones. En ese sentido no son recomendables. MySQL también contiene extensiones propietarias, que no son reconocidas por otros DBMS.
Además, si lo piensas, poner esto:
Código sql:
Ver original
  1. SELECT
  2.    a.cod, a.nombre, b.cod, b.nombre
  3. FROM tablaA AS a, tablaB AS b
  4. WHERE a.cod*=b.tablaA_cod
para no poner esto:
Código sql:
Ver original
  1. SELECT a.cod, a.nombre, b.cod, b.nombre
  2. FROM tablaA AS a LEFT JOIN tablaB AS b ON a.cod = b.tablaA_cod
no representa realmente un agregado de valor, si consideras que solamente te ahorra seis caracteres en la sentencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/06/2009, 09:36
Avatar de gabrielflowers  
Fecha de Ingreso: julio-2007
Ubicación: Santa Cruz de la Sierra
Mensajes: 187
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: existe left join implicito en mysql?

estimado gnzsoloyo,gracias por tu aporte, pero dejame decirte que creo q es mejor usar "JOIN implicitos" por q son mas faciles de usar, ademas de que te dan mas libertad en el query, y es mas flexible como para hacer muchos join

pero tus observaciones sobre el estandar y la migracion son validas, por tanto llego a una conclusion definitiva: "NO EXISTEN LEFT JOIN IMPLICITOS EN MYSQL (AL MENOS NO CON ALGUN COMODIN COMO EL *= )"

gracias, saludos.
__________________
"puedo detenerme, pero no retroceder, tengo que avanzar..."
  #4 (permalink)  
Antiguo 24/06/2009, 09:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: existe left join implicito en mysql?

Cita:
pdta:conozco la sintaxis del left join explicito en mysql, y procuro no usarlo
Opino lo mismo que gnzsoloyo.

Siempre procuro utilizar sql estándar pensando en una futura migración de DBMS.
Muchas veces los proyectos tienen tendencia a crecer y hacer uso de funcionalidades que el DBMS actual puede no soportar.
Esto incrementaría el esfuerzo de migración notablemente para este tipo de situaciones.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 12:39.