用外键查询

时间:2010-05-30 00:52:09

标签: sql sqlite

假设我有2个表,其结构如下:

tableA

  

id | A1 | A2

tableB

  

id | tableA_id(外键)| B1

A中的条目与B中的条目有一对多的关系。我需要做什么样的查询操作“这样的事情:从表B中选择A1 =”foo“”的所有对象?基本上,对tableA应用查询,从这些结果中,在tableB中找到相应的依赖对象

3 个答案:

答案 0 :(得分:3)

最好通过加入来执行:

select 
    B.* 
from 
    tableB as B 
    join tableA as A 
        on B.tableA_id=A.id 
where 
    A1='foo'

答案 1 :(得分:1)

SELECT * FROM tableB WHERE tableA_id IN(SELECT id FROM tableA WHERE A1 =“foo”);

我的朋友子查询。

MySQL和Oracle的工作正常。不了解SQL Server。希望是你在寻找的。

答案 2 :(得分:1)

您需要加入表A和B并对结果发出查询:

select * from
tableA join tableB
ON tableA.A1 = tableB.tableA_id
WHERE tableA.A1 = 'foo'