Código SQL:
Ver original
SELECT * FROM coche c, motor m WHERE c.idcoche=m.idcoche
Gracias y un saludo
| |||
Obtener resultados no relacionados Quería una consulta que en lugar de mostrarme los resultados relacionados de ambas tablas, me mostrara los que no estuvieran relacionados. Es decir lo inverso a esto:
Código SQL:
Ver original Gracias y un saludo Última edición por gnzsoloyo; 28/12/2015 a las 09:41 |
| |||
Respuesta: Obtener resultados no relacionados En programación (por ejemplo Java) utilizaría la exclamación hacia abajo para indicar los que no quiero quedandome así...
Código SQL:
Ver original Si alguien es capaz de decirmelo lo agradezco mucho Última edición por gnzsoloyo; 28/12/2015 a las 09:41 |
| ||||
Respuesta: Obtener resultados no relacionados Como bien se dice una cosa es una cosa y otra cosa es otra cosa jejejeje, ya en serio la logica de programacion nada tiene que ver con la logica que se aplica en bases de datos.....
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: Obtener resultados no relacionados Buenos días, dejo la respuesta a continuación
Código SQL:
Pues no es necesario el uso de Left Join en este caso. El Not Exists es lo que me interesaba de la consulta.Ver original Un saludo. Última edición por gnzsoloyo; 28/12/2015 a las 09:38 |
| ||||
Respuesta: Obtener resultados no relacionados En ese tipo de consultas tiene mejor performance el uso de left join, hay diferentes maneras de matar una mosca ;)
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| ||||
Respuesta: Obtener resultados no relacionados Cita: Pues no es necesario el uso de Left Join en este caso. ¿En serio?
Código SQL:
Ver original Esto es mucho más performante que lo que planteaste. Esencialmente es un ejemplo de manual, no estoy inventando nada. DE hecho, siendo que se está operando sobre FK, el LEFT JOIN muy probablemente no lea la tabla de MOTOR, sino solamente el indice FK. En tu ejemplo es altamente probable que lea ambas tablas, y dependiendo del DBMS, ese WHERE puede ser muy antiperformante.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) Última edición por gnzsoloyo; 29/12/2015 a las 09:11 |
| |||
Respuesta: Obtener resultados no relacionados Cita: Lo primero de todo, gracias por contestar con una solución que aporta mejor rendimiento a la consulta.
Iniciado por gnzsoloyo ¿En serio?
Código SQL:
Ver original Esto es mucho más performante que lo que planteaste. Esencialmente es un ejemplo de manual, no estoy inventando nada. DE hecho, siendo que se está operando sobre FK, el LEFT JOIN muy probablemente no lea la tabla de MOTOR, sino solamente el indice FK. En tu ejemplo es altamente probable que lea amñas tablas, y dependiendo del DBMS, ese WHERE puede ser muy antiperformante. Por otro lado, me gustaría puntualizar que si he preguntado es porque no sé tanto de bases de datos. Soy consciente de que es fundamental y bla bla bla, pero llevando dos años estudiando (no solo bases de datos) y especializándome en algo que no es totalmente base de datos, como comprenderás al final hay cosas que se olvidan (o que ni me han hablado, como es este caso sobre el rendimiento de las consultas, que mirando el manual efectivamente los left join son mejores que varios select) y utilizas lo que recuerdas, especialmente cuando en el trabajo te piden las cosas para ayer, cobras una miseria, y sigues matándote a estudiar. Para colmo nadie valora lo que haces, llegas a un foro para aprender a hacer las cosas mejor y te encuentras con que te meten palos por no saber tanto como ellos... Que quieres que te diga, no soy un experto en bases de datos, pero con lo que sé intento hacerlo lo mejor que puedo, y si pregunto, me mandan al manual (algo muy razonable) y encuentro una solución (que he encontrado en un manual, por cierto) y me molesto en postearla, como mínimo respeta a la persona que está detrás de la pantalla y que ha preguntado y se ha esforzado (no me he tocado las narices, incluso antes de postear ya había estado buscando). Básicamente porque no sabes quién hay detrás. PD: Por si alguien quiere entrar en más detalles http://www.aulaclic.es/sql/t_3_4.htm https://www.imaginanet.com/blog/dife...ight-join.html Última edición por Mechabits; 29/12/2015 a las 02:59 |
| ||||
Respuesta: Obtener resultados no relacionados Por eso mismo porque te mataste buscando y encontraste una solucion que no es la mejor se te esta diciendo que existen otras maneras de resolver el problema, a todos nos paso como a ti no saber sobre un tema e investigamos y fuimos aprendiendo poco a poco, no se esta demeritando lo que hiciste, solamente se te esta diciendo que aunque encontraste una solucion existe una manera de hacerlo mejor, tampoco te sientas ofendido porque se te corrige
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| |||
Respuesta: Obtener resultados no relacionados Cita:
Iniciado por Libras Por eso mismo porque te mataste buscando y encontraste una solucion que no es la mejor se te esta diciendo que existen otras maneras de resolver el problema, a todos nos paso como a ti no saber sobre un tema e investigamos y fuimos aprendiendo poco a poco, no se esta demeritando lo que hiciste, solamente se te esta diciendo que aunque encontraste una solucion existe una manera de hacerlo mejor, tampoco te sientas ofendido porque se te corrige Pues no es necesario el uso de Left Join en este caso. Podría haberlo dicho con otros modos, o directamente no hacer mención. No me ofendo porque se me corrija (y lo primero que le di fue las gracias por enseñarme otra forma más correcta, tal y como puedes comprobar), sino por los modos. |
| ||||
Respuesta: Obtener resultados no relacionados yo la verdad no lo veo tan ofensivo, he visto post peores, ademas fue un poco de sarcasmo solamente......pero bueno cada quien se lo toma como quiere :P
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
| ||||
Respuesta: Obtener resultados no relacionados Si te molesta algo de mis respuestas o de mi estilo, siempre puedes recurrir a MP para resolver la dicrepancia. Tienes antigüedad suficiente para usarlos. Observaciones de esa clase desvirtúan el hilo del tema. Lo cierro para seguir el tema por canales mas adecuados, si lo deseas.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
Etiquetas: |