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返回全部数据的结果集
(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返回全部数据的结果集
相关文章推荐
- union union all inner join on, left join on, right join on
- sql语法中的inner join on, left join on和 right join on的区别和详细使用方法(转载)
- sql中join的修饰字段(left,right,inner)的区别
- left (outer) join , right (outer) join, full (outer) join, (inner) join, cross join 区别
- Mysql左连接left join on与右连接 right join on,内连接union区别
- MySQL left join right join inner join 区别
- left join / right join /inner join 区别
- 举例说明left/right/inner join之间的区别
- (inner\left\right\full)join连接的区别!
- left join /right join/inner join区别
- inner join on, left join on, right join on的区别与介绍
- Left/Right/Inner Join用法和区别
- sql之 left join /right join/ inner join/之间的区别
- Left Join Right Join Inner Join的用法与区别
- INNER/LEFT/RIGHT JOIN ON与WHERE的区别
- inner join on, left join on, right join on的区别与介绍
- join/inner join/left join/right join区别
- SQL中各种Join语句(left、right、full、inner)的区别
- sql中left、inner、right join on和where的区别
- inner join on, left join on, right join on的区别与介绍