Bases de Datos - Ayuda con optimizacion URGENTE!

   
Vista:

Ayuda con optimizacion URGENTE!

Publicado por aprendiz (1 intervención) el 19/03/2012 22:41:46
Hola,

Necesito ayuda de como optimizar unas consultats de sql

SELECT APELLIDO
FROM R_EMPLEADO
WHERE EMPLEO IN(SELECT EMPLEO FROM R_EMPLEADO WHERE APELLIDO=’JESUS’);
------
SELECT EMP_NO,APELLIDO,OFICIO,SALARIO,COMISION
FROM R_EMPLE
WHERE DEPT_NO IN (SELECT DEPT_NO FROM R_DEPART WHERE LOC IN(‘BARCELONA’,’MADRID’));

aqui se supone que debo quitar el in y usar join pero no veo como hacerlo :S

Select alu.apenom, asig.nombre
From r_alumnos alu, r_asignaturas asig, r_notas nota
Where alu.dni=nota.dni And asig.cod=nota.cod AND asig.nombre=’EIE’;

aqui no tengo ni idea de que cambiar :S

Si alguno me lo puede resolver le estaria muy agradecido :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda con optimizacion URGENTE!

Publicado por xve (81 intervenciones) el 19/03/2012 23:09:23
Hola, no entiendo muy bien porque utilizas los IN, ya que creo que podrias realizar las mismas consultas sin ellos... por ejemplo, tu primera consulta podria ser así:
1
2
3
SELECT APELLIDO
FROM R_EMPLEADO
WHERE APELLIDO='JESUS';

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con optimizacion URGENTE!

Publicado por aprendiz (1 intervención) el 19/03/2012 23:21:49
pues porque quiero saber todos los empleados que trabajan al mismo sitio que jesus, la consulta asi esta bien lo que pasa que le hace falta optimizar teoricamente segun e leido tengo de usar joins pero esque no lo pillo como hacerlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda con optimizacion URGENTE!

Publicado por xve (81 intervenciones) el 20/03/2012 10:47:32
Haber que te parece así:

1
2
3
SELECT APELLIDO
FROM R_EMPLEADO
WHERE EMPLEO=(SELECT EMPLEO FROM R_EMPLEADO WHERE APELLIDO='JESUS' limit 1);

La utilización de joins, es para juntar dos o mas tablas en una misma consulta... no creo que sea el caso.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar