SQL语句联合查询

联合查询是指将多个不同的查询结果连接在一起组成一组数据的查询方式。联合查询使用UNION关键字连接各个SELECT子句。说的简单点,就是将两个表当中的行合并成一个表当中去显示。

合并查询的特点:

1、合并的表中的列的个数、数据类型必须相同或相兼容可以转换

2、UNION默认去掉重复值,如果允许有重复值需要使用UNION ALL

3、执行顺序从左向右(可通过列的顺序或空格改变结果集的排列顺序)

例如:SELECT UserId,UserName FROM UserInfo

            UNION

          SELECT UserId,PayWay FROM OrderInfo  ///  SELECT  '  ',PayWayFROMOrderInfo

4、可以与SELECT INTO 一起使用把合并的结果插入到新表中显示,那么INTO 必须放在第一个SELECT 语句中

例如:SELECT  UserId,UserName INTO newTables  FROM UserInfo

            UNION

           SELECT  PayWay, UserId  FROM  OrderInfo

5、可以对合并的结果进行排序,但排序的ORDER BY 必须放在最后一个SELECT后面,所使用的列名

      也必须是第一个SELECT语句。


合并查询与连接查询的区别:

合并查询:结果集中的列由第一个表中的列决定,行的最大数量是两个表行的“和”    UNION

连接查询:结果集中的列分别来自 不同的表,行的最大数量是它们的“乘积”              INNER JOIN ON

注意:连接查询时,如果没有WHERE,将产生笛卡尔现象,即两表中数据相乘。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容