教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysql中UNION进行多表查询的注意事项

mysql中UNION进行多表查询的注意事项

发布时间:2023-04-29   编辑:jiaochengji.com
教程集为您提供mysql中UNION进行多表查询的注意事项等资源,欢迎您收藏本站,我们将为您提供最新的mysql中UNION进行多表查询的注意事项资源
多表查询我们有很多的方法union就是其中的一种了,但大家知道不知道union多表查询时要注意的一些事项呢?如果不懂和小编来看看吧.


假设有两个字段完全一致的表,table1和table2。字段分别为password, username, email。
则使用UNION(或UNION ALL)进行多表查询的基本方法就是简单的连接:

 SELECT password,username,email
 FROM
 table1
 where username like '123'
 
 UNION ALL //或用UNION以去除重复数据
 
 SELECT password,username,email
 FROM
 table2
 where username like '123'

但是,如果表与表的字段不同,有重叠却不完全一致。就不是简单地用UNION来连接即可了。
要UNION两个或多个表,必须满足的条件就是这些表的字段都一样。为了满足这个条件,可以用","来代替缺少的字段。
例如:table1中有字段password,username,email,ip;table2中有字段password,username。则查询方法如下:

 
   /**
    * mysql union
    * coder: xiaohudie
    * Jan 2015
    */

 SELECT password,username,email,ip
 FROM
 table1
 where username like '123'
 
 UNION ALL
 
 SELECT password,username,',',',' 
 FROM
 table2
 where username like '123'
以此类推。

--
PS: 抱歉各位,我撤下了评论回复邮件通知的功能,望周知。
因为SMTP插件在数据库中留下邮箱密码造成了一定危险。至于为什么会造成危险,咳咳,那就要问问我某位亲密无间的好朋友了。

您可能感兴趣的文章:
mysql where or和where in查询语句的效率分析及优化
mysql explain用法学习
MySQL的FULLTEXT实现全文检索的注意事项
MySQL占用IO过高解决方案
php如何实现多表查询
MySQL 分表存储的使用示例
mysql中RAND()随机查询记录的效率问题和解决办法
mysql update实现子查询的实例分享
从八个方面来讲解如何全新优化MySQL数据库性能。
mysql中视图和union联合查询的使用

[关闭]
~ ~