一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2015-01-27 编辑:简简单单 来源:一聚教程网


假设有两个字段完全一致的表,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插件在数据库中留下邮箱密码造成了一定危险。至于为什么会造成危险,咳咳,那就要问问我某位亲密无间的好朋友了。

热门栏目