首页 > 数据库 > MySQL > 正文

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

2024-07-24 12:39:44
字体:
来源:转载
供稿:网友

多表查询我们有很多的方法union就是其中的一种了,但大家知道不知道union多表查询时要注意的一些事项呢?如果不懂和小编来看看吧.

假设有两个字段完全一致的表,table1和table2,字段分别为password,username,email.

则使用UNION(或UNION ALL)进行多表查询的基本方法就是简单的连接:

  1.  SELECT password,username,email 
  2.  FROM  
  3.  table1  
  4.  where username like '123'  
  5. --Vevb.com 
  6.  UNION ALL //或用UNION以去除重复数据 
  7.  
  8.  SELECT password,username,email 
  9.  FROM  
  10.  table2  
  11.  where username like '123' 

但是,如果表与表的字段不同,有重叠却不完全一致,就不是简单地用UNION来连接即可了.

要UNION两个或多个表,必须满足的条件就是这些表的字段都一样,为了满足这个条件,可以用","来代替缺少的字段.

例如:table1中有字段password,username,email,ip;table2中有字段password,username,则查询方法如下:

  1.   /** 
  2.    * mysql union 
  3.    * coder: xiaohudie 
  4.    * Jan 2015 
  5.    */ 
  6. SELECT password,username,email,ip  
  7. FROM  
  8. table1  
  9. where username like '123'  
  10. -Vevb.com 
  11. UNION ALL 
  12.  
  13. SELECT password,username,',',','   
  14. FROM  
  15. table2  
  16. where username like '123'  

以此类推.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表