天天看点

sql 子查询表级联查询

在处理少量数据是使用

示例

select * from A where aid in(select aid from b)

查找a表数据条件aid属于b表中的aid

select * from A where aid not in(select aid from b)

查找a表数据条件aid不属于b表中的aid

级联查询处理大量数据时使用

实例

select a.*,b.* from A a inner join B b on a.aid=b.aid where ......

inner join 如果表中有至少一个匹配,则返回行

select a.*,b.* from A a left join B b on a.aid=b.aid where ......

left join即使右表中没有匹配,也从左表返回所有的行

select a.*,b.* from A a right join B b on a.aid=b.aid where ......

right join即使左表中没有匹配,也从右表返回所有的行

select a.*,b.* from A a full join B b on a.aid=b.aid where ......

full join 只要其中一个表中存在匹配,就返回行

总结:在处理少量数据是可以使用子查询在出来大量数据使用级联可提供执行效率