Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença no uso de 'EXISTS' e 'IN'

As queries abaixo verificam se há algum curso na tabela 'matrícula'. Há alguma diferença, de performance por exemplo, entre o 'EXISTS' e o 'IN'?

select * from curso c where EXISTS (select m.id from matricula m where c.id = m.curso_id);
select * from curso c where c.id IN (select m.curso_id from matricula m);
2 respostas
solução!

Fala ai Ieda,tudo bem ?

EXISTS é muito mais rápido que IN, quando os resultados da subconsulta são muito grandes, o operador EXISTS fornece um melhor desempenho. Sendo assim IN é mais rápido que EXISTS, quando os resultados da subconsulta são muito pequenos.

Oi Matheus.

Entendi!

Muito obrigada!! :)