Pido mil perdones por esto, pero va igual:

La solucion que dio Rodrigo

SELECT tabla1.*
 FROM tabla1 LEFT JOIN tabla2 ON tabla1.id=tabla2.id
 WHERE tabla2.id IS NULL;

Es la mas efectiva para relizar la tarea que deseas.

Comentarios de Rodrigo

"El optimizador de MySQL es horrible."
 (??) nose si era necesario pero me parece que ayuda como Cultura si no
estas de acuerdo puedes documentarte y argumentar lo contrarior.

"Yo no veo la forma simple de hacerlo con OR. Por algo parecido mandé a
un tipo a repetir Bases de Datos I."

 (??) me pare muy certero no veo forma simple de hacerlo con OR tampoco, y
su comentario es mas que claro, si tuviese la oportunidad de reprobar a un
tipo por intentar hacer esto con OR lo haria y no le veo lo mal
intencionado, a menos claro, que seas estudiante de BD1, o administrador de
DB.


"No te preocupes; no te cambies a PostgreSQL, si al total, son datos de
un cliente nada más, no importa ni integridad ni consistencia ni una
base de datos decente... (sarcásticamente hablando, claro)."

(??) Segun lo veo es una broma, por que da lo mismo si usas PostgreSQL o
Oracle si la base de datos no tiene integridad de disen~o, y lo son datos
del cliente( desde mi punto de vista es problema de el "broma").

Comentario personal:

Creo que ninguno de los comentarios hecho por Rodrigo son ofencivos (nose
como se escribe), solo con un poco de humor, que no deberian hacerte sentir
mal de ningun modo, a demas, esta lista es para aprender tambien, por que si
fueramos todos expertos, para que nos preguntariamos.

Aparte a los que acusan de que en la lista  se les pego algo de Profesor Von
Brand esta claro y no es malo hace que esto sea mas divertido y motivante.

----------------------------------------
Wladimir A. Jiménez B.
http://www.kasbeel.cl
Linux User # 444661
Ubuntu User # 19201
From [EMAIL PROTECTED]  Wed Oct  1 17:35:35 2008
From: [EMAIL PROTECTED] (Andrea A. Guzman)
Date: Wed Oct  1 17:35:40 2008
Subject: Mysql, consulta registro sin integridad referencial
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

Wladimir A. Jimenez B. escribió:
> Pido mil perdones por esto, pero va igual:
> 
> La solucion que dio Rodrigo
> 
> SELECT tabla1.*
>  FROM tabla1 LEFT JOIN tabla2 ON tabla1.id=tabla2.id
>  WHERE tabla2.id IS NULL;
> 
> Es la mas efectiva para relizar la tarea que deseas.
> 
> Comentarios de Rodrigo
> 
> "El optimizador de MySQL es horrible."
>  (??) nose si era necesario pero me parece que ayuda como Cultura si no
> estas de acuerdo puedes documentarte y argumentar lo contrarior.
> 
> "Yo no veo la forma simple de hacerlo con OR. Por algo parecido mandé a
> un tipo a repetir Bases de Datos I."
> 
>  (??) me pare muy certero no veo forma simple de hacerlo con OR tampoco, y
> su comentario es mas que claro, si tuviese la oportunidad de reprobar a un
> tipo por intentar hacer esto con OR lo haria y no le veo lo mal
> intencionado, a menos claro, que seas estudiante de BD1, o administrador de
> DB.
> 
> 
> "No te preocupes; no te cambies a PostgreSQL, si al total, son datos de
> un cliente nada más, no importa ni integridad ni consistencia ni una
> base de datos decente... (sarcásticamente hablando, claro)."
> 
> (??) Segun lo veo es una broma, por que da lo mismo si usas PostgreSQL o
> Oracle si la base de datos no tiene integridad de disen~o, y lo son datos
> del cliente( desde mi punto de vista es problema de el "broma").

Medio en serio medio en broma. Por mucho que te guste usar cierto motor 
de BD, es bueno realizar un analisis en base a los pros y contras de 
cada uno de ellos (objetivamente hablando) dependiendo de los objetivos 
a lograr. Lamentablemente para nuestro amigo aqui presente, Rodrigo 
tiene la razon al comentar sobre la integridad y consistencia de datos 
de clientes.

Quizas, para la otra evitar sarcasmos cuando se termina un correo con 
"Favor, omitir comentarios del tipo cámbiate a postgres, u otros, que no 
contribuyan a la solución de codificación requerida." :-) esto denota 
que el "enviador" del correo no anda de humor :S (si si, esto deja los 
dedos crespos para tirar la talla e irritar al pobre y muchos no se 
resisten a la tentacion)

> 
> Comentario personal:
> 
> Creo que ninguno de los comentarios hecho por Rodrigo son ofencivos (nose

Se dice "ofensivos" :P

> como se escribe), solo con un poco de humor, que no deberian hacerte sentir
> mal de ningun modo, a demas, esta lista es para aprender tambien, por que si
> fueramos todos expertos, para que nos preguntariamos.
> 
> Aparte a los que acusan de que en la lista  se les pego algo de Profesor Von
> Brand esta claro y no es malo hace que esto sea mas divertido y motivante.

Y para que andamos con cosas... por lo general los sysadmin, 
programadores, aficionados a linux y expertos tienden a ser sarcasticos, 
pero se lee entre lineas que es en tono de talla mas que todo.

Saludos!

-- 
  Andrea A. Guzman Veloso                          Linux User #418853
  Estudiante Mg. en Cs. de la Informatica          Fono: +56 32 2654367
  Unidad de Servicios de Computacion e Internet
  UTFSM - Casa Central
  Valparaiso - Chile

0118-999-88199-911-9725-3
From [EMAIL PROTECTED]  Wed Oct  1 17:33:20 2008
From: [EMAIL PROTECTED] (Rodrigo Fuentealba)
Date: Wed Oct  1 17:40:42 2008
Subject: Mysql, consulta registro sin integridad referencial
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

2008/10/1 Wladimir A. Jimenez B. <[EMAIL PROTECTED]>:
> Pido mil perdones por esto, pero va igual:
>
> La solucion que dio Rodrigo
>
> SELECT tabla1.*
>  FROM tabla1 LEFT JOIN tabla2 ON tabla1.id=tabla2.id
>  WHERE tabla2.id IS NULL;
>
> Es la mas efectiva para relizar la tarea que deseas.
>
> Comentarios de Rodrigo
>
> "El optimizador de MySQL es horrible."
>  (??) nose si era necesario pero me parece que ayuda como Cultura si no
> estas de acuerdo puedes documentarte y argumentar lo contrarior.

Si los comparas con el de SQL Server, el optimizador de MySQL lo puede
escribir cualquier alumno de quinto año básico. No es avanzado para
nada, y al parecer mezcla optimizaciones a varios niveles. La consulta
debe viajar optimizada a la base de datos, no debe ser manejada en el
vuelo pues se generan muchos bugs difíciles de seguir (y los de MySQL
han cometido hartos de estos errores)

> "Yo no veo la forma simple de hacerlo con OR. Por algo parecido mandé a
> un tipo a repetir Bases de Datos I."
>
>  (??) me pare muy certero no veo forma simple de hacerlo con OR tampoco, y
> su comentario es mas que claro, si tuviese la oportunidad de reprobar a un
> tipo por intentar hacer esto con OR lo haria y no le veo lo mal
> intencionado, a menos claro, que seas estudiante de BD1, o administrador de
> DB.

En cuyo caso te quedan 2 meses para aprender a escribir queries :D

> "No te preocupes; no te cambies a PostgreSQL, si al total, son datos de
> un cliente nada más, no importa ni integridad ni consistencia ni una
> base de datos decente... (sarcásticamente hablando, claro)."
>
> (??) Segun lo veo es una broma, por que da lo mismo si usas PostgreSQL o
> Oracle si la base de datos no tiene integridad de disen~o, y lo son datos
> del cliente( desde mi punto de vista es problema de el "broma").

No era broma. En MySQL con MyISAM no se asegura la integridad, por
mucho que declares tus tablas con claves foráneas, éstas no se
aprovechan.

> Comentario personal:
>
> Creo que ninguno de los comentarios hecho por Rodrigo son ofencivos (nose
> como se escribe)

ofensivos.

> solo con un poco de humor

tampoco, eran en serio.

> que no deberian hacerte sentir
> mal de ningun modo, a demas, esta lista es para aprender tambien, por que si
> fueramos todos expertos, para que nos preguntariamos.
>
> Aparte a los que acusan de que en la lista  se les pego algo de Profesor Von
> Brand esta claro y no es malo hace que esto sea mas divertido y motivante.

Eh, ¿por qué siempre me dicen lo mismo? Yo era así antes de
suscribirme. Prueba de ello es que casi toda mi familia tiene un humor
un poco ácido: y yo no tengo apellido von Brand.

Independiente de eso, en pocas oportunidades he visto que haya pocas
respuestas para un problema en particular, y creo que el resto si bien
es energía gastada, enseña algo más; toma lo que te sirva para
resolver tu drama y el resto léelo para que te genere inquietud...
Creo que todos estamos de acuerdo en que es una buena escuela el hecho
de intentar discutir, equivocarnos o acertar, tratar de entrar en el
juego de la discusión. De otra forma, ésto sería "Lista de Consulta
Linux y temas afines: $1000 por mail enviado, preguntando". ¿No lo
creen así?

-- 
Rodrigo Fuentealba

Responder a