MySQL怎么样实现多个表的或查询?

clipboard.png
我想要像上图那样在两个表里面查询username,只有其中一个表有这个数据就返回true,但是MySQL判断必须两个表都有才返回true。

clipboard.png

请问有什么办法可以实现这样的查询呢?(两个表中任何一个表有数据则返回true)

阅读 3k
2 个回答

select * from user_agent, user_cleck where user_agent.username = 'huibao' or user_clerk.username = 'huibao'这样可以吗?

select * from table1, table2 是多表联合查询,题主的情况只是两个单表查询的结果取合集,应该用 UNION

1、结果取合集

select * from user_agent where username='{$username}' 
union all 
select * from user_clerk where username='{$username}';

2、结果取合集,并去掉重复项

select * from user_agent where username='{$username}' 
union 
select * from user_clerk where username='{$username}';

题主的情况,两种都可以。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题