标签:
操作数据库时多表联合查询很常见。也知道常见联合查询的集中类型,内连接、外连接、全连接、自连接,外连接又分为左连接和右连接。
这些概念我一直都知道,但对于感念的理解并不透彻。对于不同类型的联合查询的结果数据集合没有清晰的区分。前两天,工作中又遇到的这样的问题,才开始弄明白。
内连接:传统写法: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;
标签:
原文地址:http://www.cnblogs.com/duanduan/p/4582970.html