如何从第二个表中获取信息时使用另一个表过滤来自1个表的数据

时间:2013-06-14 21:51:55

标签: sql oracle

我有2张桌子

TABLE1:

C1 | MORECOLUMNS
----------------
aa | info1
aa | info2
bb | info3
bb | info4
cc | info5

TABLE2:

C1 | C2 | C3
------------
aa | 31 | x
cc | 46 | y

我需要从table1中获取table2中具有相应C1的所有行以及table2中的信息 输出:

C1 | C2 | C3 | MORECOLUMNS
--------------------------
aa | 31 | x | info1
aa | 31 | x | info2
cc | 46 | y | info5

我该怎么做?感谢

3 个答案:

答案 0 :(得分:2)

非常标准INNER JOIN

select t1.c1, t2.c2, t2.c3, t1.morecolumns
from table1 t1
   join table2 t2 on t1.c1 = t2.c1

A Visual Explanation of SQL Joins

答案 1 :(得分:0)

您可以使用JOIN执行此操作:

SELECT a.C1, b.C2,b.C3,a.MORECOLUMNS
FROM table1 a
JOIN table2 b
ON a.C1 = b.C1

关于JOINS的大量信息,一个来源是:A Visual Explanation of SQL Joins

答案 2 :(得分:0)

考虑至少做一些关于SQL的粗略研究!

实施例。 http://www.w3schools.com/sql/sql_join.asp

  

SQL JOIN

     

SQL JOIN子句用于组合来自两个或多个表的行,   基于他们之间的共同领域。

     

最常见的连接类型是:SQL INNER JOIN(简单连接)。一个SQL   INNER JOIN返回连接的多个表中的所有行   条件得到满足。