如何从不同的表中过滤掉表的行

时间:2013-06-14 01:39:03

标签: sql oracle

我有两张桌子:

TABLE1:
query | info
aa      info
bb      info
aa      info
cc      info
cc      info

TABLE2:
query | info
aa      inf
cc      inf

表1可以有重复查询,但2不能

我需要一个SQL查询来获取表1中也存在于表2中的所有查询。如果表1中有多个相应的查询,那么结果中应该有多个查询 最简单的方法是什么?

3 个答案:

答案 0 :(得分:0)

select table1.* from table1
join table2 on table1.query=table2.query

答案 1 :(得分:0)

以下是对问题解决方案的更好理解。

SELECT column_name(s) FROM table1 
LEFT JOIN table2 ON 
table1.column_name=table2.column_name;

LEFT JOIN关键字返回左表(table1)中的所有行,右表(table2)中的匹配行。当没有匹配时,结果在右侧为NULL。

答案 2 :(得分:0)

使用联接

SELECT 
 t1.* 
FROM 
table1 t1
INNER JOIN table2  t2 ON t1.query=t2.query