多张表的子查询
首先来看一下表的内容:
比如说现在想要查询在info表中,age大于19的id在gays表中的所有内容:
可以把这个问题分解,首先查询在info表中大于19的;
select id from info where age>=19;
得到一个临时表的返回值:
再在这一张表中查询id在gays表中的所有内容:
select * from gays where id in (select id from info where age>=19);
如果是多条数据的话用in, 当然也有not in, 如果是一条数据的话可以用=。
也可以与一些函数混合使用:
select * from gays where exists (select id from info where age>=19);
就是说主要存在age>=19的,我就把gays的值全打出来。