MySQL 如何执行关联查询

MySql 中 “关联”一词包含的意义比一般意义上理解的要广泛。总的来说,MySQL认为任何一个查询都是一次“关联”。

MySQL关联查询原理

MySQL对任何关联都执行嵌套循环关联操作,即MySQL先在一个表中循环取出单条数据,然后再嵌套循环到下一个表中寻找匹配的行。依次下去,直到找到所有表中匹配的行为止。

例子
 SELECT tab1.col1,tab2.col2 FROM tab1 INNER JOIN tab2 USING(col3) where tab1.col1 in (5,6);

执行上面语句的伪代码如下:

outer_iter = iterator over tab1 where col1 in (5,6)
outer_row = outer_iter.next
while outer_row
    inner_iter = iterator over tab2 where col3 = outer_row.col3;
    inner_row = inner_iter.next;
    while inner_row
        output [outer_row.col1,inner_row.col2]
        inner_row = inner_iter.next
    end
    outer_row = outer_row.next
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值