常用的SQL语句<二>几个高级查询运算词
几个高级查询运算词
UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
具体用法参考:http://msdn.microsoft.com/zh-cn/library/ms180026%28SQL.90%29.aspx
union和join的区别
join 是两张表做交连后里面条件相同的部分记录产生一个记录集,其中左连接是以左边表的内容为基准,要是右边表找不到则为空(结果集几包括连接表的匹配行,也包括左连接表的所有行)。内连接为两个表共同匹配的内容,外连接(自然连接),两个表全部内容连接(不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录)。jion:参与
union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。union:合并
EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。
except和intersect的区别详细见:http://msdn.microsoft.com/zh-cn/library/ms188055.aspx
distinct 关键词:用于返回唯一不同的值。
语法:SELECT DISTINCT 列名称 FROM 表名称