Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2019, 20:50
cabeto_1972
 
Fecha de Ingreso: marzo-2004
Mensajes: 199
Antigüedad: 20 años, 8 meses
Puntos: 1
Buscar un valor en dos tablas (como es mas eficiente)

Buenas noches, mi tema es el siguiente

tengo una tabla "usuarios" asi:

idusuario|Nombre
1 | Juan
2 | Pedro
3 | Luis
4 | Marco

y una tabla "empresas" asi

idempresa|Nombre | idusuario
1 | Emp1 | 1
2 | Emp2 | 3
3 | Emp3 | 1
4 | Emp4 | 2
5 | Emp5 | 1
6 | Emp6 | 3
7 | Emp7 | 4
8 | Emp8 | 1

más una tabla "solicitudes" hechas por las empresas

idsolicitud | idempresa
1 | 2
2 | 1
3 | 2
4 | 4
5 | 2
6 | 1
7 | 3
8 | 2
9 | 3
10 | 4

Resulta que yo soy el usuario 1 y quiero ver las solicitudes que han hecho las empresas que tengo asignadas por lo cual realizo una consulta de la siguiente manera

select * from solicitudes where idempresa in (select idempresa where idusuario='1')

my pregunta es: esta es la manera mas eficiente de realizar esta consulta o existe una manera en que sea mas rapida o efectiva la respuesta, es que me da la impresion de que, aunque me funciona, la respuesta sea un poco lenta.

Ah. cabe anotar q no tengo relacionada las tablas con llaves, solo una llave primaria en los id

Gracias por su ayuda