您的位置:首页 > 其它

left join/right join/inner join/union/union all 的区别

2010-10-08 10:00 302 查看
如题,这种问题实际在公司的笔试中是很经常碰到的题目,而实际上在项目的具体实施过程中,倒是很少用到,到目前为止我都没用过,当然也可能是我自己的问题啦,呵呵!简单讲讲这些的区别:

(1)left join/right join/inner join

select * from first_table left join/right join/inner join second_table on
first_table.field = second_table.field

保留了first_table中所有的数据,而second_table保留与first_table匹配的数据,如无匹配,则为null

而right join则相反;

inner join保留两张表共同匹配的数据。

注:数据类型必须一样,否则异常

(2)union/union all

使用 UNION 组合查询的结果集有两个最基本的规则:

1,所有查询中的列数和列的顺序必须相同。

2,数据类型必须兼容

不同点:union all效率要比union来得高。

但是union返回的是不含重复数据的结果集,而union all返回全部数据的结果集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: