萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 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插件在數據庫中留下郵箱密碼造成了一定危險。至於為什麼會造成危險,咳咳,那就要問問我某位親密無間的好朋友了。

copyright © 萬盛學電腦網 all rights reserved