多表查询我们有很多的方法union就是其中的一种了,但大家知道不知道union多表查询时要注意的一些事项呢?如果不懂和小编来看看吧.
假设有两个字段完全一致的表,table1和table2,字段分别为password,username,email.
则使用UNION(或UNION ALL)进行多表查询的基本方法就是简单的连接:
- SELECTpassword,username,email
- FROM
- table1
- whereusernamelike'123'
- --phpfensi.com
- UNIONALL//或用UNION以去除重复数据
- SELECTpassword,username,email
- FROM
- table2
- whereusernamelike'123'
但是,如果表与表的字段不同,有重叠却不完全一致,就不是简单地用UNION来连接即可了.
要UNION两个或多个表,必须满足的条件就是这些表的字段都一样,为了满足这个条件,可以用","来代替缺少的字段.
例如:table1中有字段password,username,email,ip;table2中有字段password,username,则查询方法如下:
- /**
- *mysqlunion
- *coder:xiaohudie
- *Jan2015
- */
- SELECTpassword,username,email,ip
- FROM
- table1
- whereusernamelike'123'
- -phpfensi.com
- UNIONALL
- SELECTpassword,username,',',','
- FROM
- table2
- whereusernamelike'123'
以此类推.