现在有一个简单的情景假设:
数据库中有两张表,分别为用户表user(属性id name)和用户意向表userinter(属性id userid inter,其中userid关联自user表的id),
现在我要查询出每个用户的意向:
join示例:
select a.id,a.name,b.inter from user a join userinter b on a.id=b.userid;
子查询示例:
select a.id,a.name,(select b.inter from userinter b where b.id=a.id) as yx from user a having yx is not null;
这两种方式查询出来的结果是一样的,网上都说在数据量大的时候推荐用join而不是子查询,原因是因为子查询依赖于外层查询,对于每个外层查询都要执行一遍子查询。
那么join是怎么查的?
希望各位网友专家帮忙解答下,不胜感激!