您的位置:首页 > 其它

对于多表联合查询的一点理解

2015-06-30 23:28 423 查看
操作数据库时多表联合查询很常见。也知道常见联合查询的集中类型,内连接、外连接、全连接、自连接,外连接又分为左连接和右连接。

这些概念我一直都知道,但对于感念的理解并不透彻。对于不同类型的联合查询的结果数据集合没有清晰的区分。前两天,工作中又遇到的这样的问题,才开始弄明白。

内连接:传统写法:select a.*,b.* from a,b where a.column=b.column;

新式写法:select a.* from a inner join b on a.column=b.column;

需要注意的是,新式写法的sql执行效率要比传统写法的高,其中的原因我也不是很清楚。

内连接查询出的结果集是,当联合查询条件成立时返回的数据,如果联合查询条件不成立,则无结果数据返回。也就是说,有几条数据符合联合查询的条件,查询出的结果数据就会有几条。

外连接:左连接:传统写法:select a.*,b.* from a,b where a.column=b.column(+);这是以a表为主表进行的查询

新式写法:select a.* from b left [outer ] join b on a.column=b.column;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: