SQL中exists关键字的用法
1.简单的写一个sql,根据用户id查询user表中和role_user表中互相关联的数据:
select * from user u where u.id in (select ru.user_id from role_user ru);
2.使用exits关键字进行优化。
select * from user u where exists (select 1 from role_user ru where u.id = ru.id );
3.同理查找不存在关系的数据也很简单
select * from user u where not exists (select 1 from role_user ru where u.id = ru.id );
select * from user u where u.id not in (select ru.user_id from role_user ru);
结语:炒鸡简单易懂的一个示例。
exists 在大表查询中非常有用,工作中出现频率也非常高,希望大家都能学会。