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

Una mejor forma de hacer esto

Estas en el tema de Una mejor forma de hacer esto en el foro de Mysql en Foros del Web. Buenas tardes ante todo Lo que tengo que hacer es mostrar el apellido y sueldo de empleado que ganan mas de 1000000 y a eso ...
  #1 (permalink)  
Antiguo 13/09/2012, 14:10
 
Fecha de Ingreso: septiembre-2012
Ubicación: Colombia
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Una mejor forma de hacer esto

Buenas tardes ante todo

Lo que tengo que hacer es mostrar el apellido y sueldo de empleado que ganan mas de 1000000 y a eso "restarle" los empleados que trabajan en el departamento A1.

La solución que mire o que hice fue está:


Código MySQL:
Ver original
  1. Select empleado.Apellido,empleado.Sueldo from empleado where empleado.Dept_Id<>"A1" and Sueldo>1000000;

Mi pregunta hay alguna manera de simplificar esto?? o de hacerlo mas eficiente ?? según como explico la "profesora" se usa minus pero no sirve así que no sé como hacerlo

Última edición por Kazane; 13/09/2012 a las 14:16
  #2 (permalink)  
Antiguo 13/09/2012, 20:26
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: Una mejor forma de hacer esto

En realidad, para lo que plantea el ejercicio, esa es la forma más simple de hacer, por cuanto no tienes dos tablas que trabajar (o más), sino sólo una.
Cualquier otra forma de consulta implicará más complejidad y menor performance.
Código MySQL:
Ver original
  1.     empleado.Apellido,
  2.     empleado.Sueldo
  3.     empleado
  4.     empleado.Dept_Id<>"A1"
  5.     AND Sueldo > 1000000;
Respecto al MINUS, esta no es una cláusula de MySQL, sino que la encuentras en SQL Server, por ende no es parte del ANSI-SQL (el estandar).
En MySQL la función del MINUS se logra con diversos recursos, siendo el más simple, el LEFT JOIN, cuando tienes más tablas, o NOT IN(subconsulta), cuando puedes usar un dato para filtrar las exclusiones. Pero no es la mejor forma para un caso tan simple.
__________________
¿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: select, tabla, formulario
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 19:02.