13

我想做一个简单的查询,这听起来可能很愚蠢,但我做了很多研究,什么也不懂。

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

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

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

我不知道这是否可能。

提前致谢,

4

3 回答 3

39

您需要在两个 talbes 之间应用连接,然后您可以应用 where 子句将为您工作

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

对于加入信息,你可以看到这个

阅读关于The Code Project 的这篇原创文章会对您有很大帮助:SQL 连接的可视化表示

替代文字

在以下位置找到原始版本:MySQL 中的 JOIN 和 OUTER JOIN 之间的区别

于 2012-05-31T08:21:16.503 回答
7
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 是主键

于 2012-05-31T08:29:09.020 回答
2

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

你要求

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

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

于 2012-05-31T08:24:06.313 回答