SQL查询,其中=另一个表的值

时间:2012-05-31 08:18:38

标签: sql sqlite

我想做一个简单的查询,这可能听起来很愚蠢,但我进行了大量的研究而无法理解。

想象一下,我有两个表(table1和table2)和两个列(table1.column1和table2.column2)。

我想要做的基本上是这样的:

SELECT column1 FROM table1 where table2.column2 = '0'

我不知道这是否可行。

提前致谢,

3 个答案:

答案 0 :(得分:30)

你需要在两个talbes之间应用连接,而不是你可以应用你的where子句为你工作

select column1 from table1 
   inner join table2 on table1.column = table2.column
   where table2.columne=0

对于加入信息,您可以看到此

阅读代码项目上的原始文章将对您有所帮助:Visual Representation of SQL Joins

alt text

Difference between JOIN and OUTER JOIN in MySQL找到原始的。

答案 1 :(得分:3)

SELECT column1 FROM table1 t1
where exists (select 1 from table2 t2 
    where t1 id = t2.table1_id and t2.column2 = '0')

假设table2中的table1_id是一个外键,引用table1的id作为主键

答案 2 :(得分:2)

两个表之间没有任何自然连接。

你要求

Select Houses.DoorColour from Houses, Cars where Cars.AreFourWheelDrive = '1'

您需要考虑为什么要从第一个表中选择任何内容,表1和表2之间必须有共享的信息,否则连接是没有意义的,可能很危险。