作为众多菜鸟中的一员,虽然无数次的写SQL语句,但是从来只知道有哈希链接,但是从来没有使用过,链接只是使用无数老师和教科书教的:
select a.id from a,b where a.id=b.id;
相信有很多人也是如此。
今天就如何使用这三种链接及链接原理和使用场合进行了学习。
一嵌套循环连接:
SQL:select a.ac_id from test2 a,test3 b where a.ac_id=b.ac_id
解析该语句
本环境为Oracle 11g。不知道为什么使用上述语句执行结果是HASH连接。
把外层的表称为外表或驱动表,内层的表称为内表或被驱动表。
二。排序合并连接:
SQL:select /*+ use_merge(a b)+*/ a.ac_id from test2 a,test3 b where a.ac_id=b.ac_id;
执行过程
即2个表各自按ac_id 排序,然后按2个表的顺序进行匹配,合并结果。
三。哈希连接&#