我有Table1:
id|name|city
-------------
1 | bat|nyc
2 | cat|del
2 | rat|bom
3 | mat|xyz
表2
id|name|city
--------------
1 |bat|dsada
2 |cat|sadasd
3 |rat|sdasdas
2 |rat|asdas
我需要一个查询来显示两个表中的BOTH id和name相同的行,上面的例子中查询必须返回 我需要一个查询来显示行
1|bat|nyc
2|cat|del
来自第一张表
答案 0 :(得分:0)
最简单(也可能是最有效)的方法是使用EXISTS
:
SELECT id,name,city FROM Table1 t1
WHERE EXISTS
(
SELECT 1 FROM Table2 t2
WHERE t2.name = t1.name
AND t2.id = t1.id
)
答案 1 :(得分:0)
尝试加入表格,如下所示
select tabl1.* from table1
inner join table2
on table1.id=table2.id and table1.name=table2.name
答案 2 :(得分:0)
select
T1.id, T1.name
from Table1 as T1
where
exists (select * from Table2 as T2 where T2.id = T1.id and T2.name = T1.name)
答案 3 :(得分:0)
试试这个:JOIN将确保满足两个条件,即两个表中的两个记录都具有id
和name
的相同值
Select t1.name, t1.city from Table1 t1
Join Table2 t2
ON t1.id = t2.id and
t1.name = t2.name