日期:2014-05-18  浏览次数:20813 次

能不能在一条SQL语句里,查询两张表?
数据库中有两张表,一张叫user1,另一张叫user2。然后我想用一条SQL语句查询两张表中有没有一个用户名username=“zhang”的记录?请教各位大哥啊!

------解决方案--------------------
楼主的意思是说查询的结果 = user1的记录 + user2的记录吗?

如果是这样的话那就不行哦~

你可以分两次查询,把结果放到集合中,再对集合遍历
------解决方案--------------------
UNION
将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。有关更多信息,请参见 SELECT。


------解决方案--------------------
楼主什么意思?是两张表里都有才能检索出结果,还是只要有一张表里有就能检索出结果?
select
A.username
from
user1 A
,user2 B
where
A.username = 'zhangsan ' and
A.username = B.username

------解决方案--------------------
晕倒--这个问题。。。。
------解决方案--------------------
难道你们不会及联查询么?内联查询和外联查询,一个jion关键字就可以了。去多了解一下数据库吧,2个表以上,三表查询或者更多的话需要建立视图。
------解决方案--------------------
就是一个union 联合查询啊 把两个表的数据放在一起
然后就好办了啊

SELECT one FROM(
SELECT bt AS one FROM t_gkkc
UNION
SELECT xm AS one FROM b_bbs_user
) WHERE one LIKE '%张% '

就这样 刚跟你写了一个 测试通过@@
------解决方案--------------------
更晕~~
你在这样
if not exits select 1 from user1 where name= "XX ";
select 1 from user2 where name= "XX ";
先找user1表,如果没有记录在找user2表.这样效率会快一些.
------解决方案--------------------
既然都是注册用户,每必要建2个用户表了吧,如果区分不大的话 ,用一个表设置一个区分字段不就可以了吗,这样就没必要查询2个表了 呵呵,随便说说 不清楚楼主数据库结构
------解决方案--------------------
select
A.username
from
user1 A
,user2 B
where
A.username = 'zhang ' and
A.username = B.username

------解决方案--------------------
select a.username,b.username from a,b where a.username= 'admin ' and b.username= 'admin '