当特定列tableX
的值与tableY
.
假设我们有 2 个表:一个名为person
包含一个名为的列membershipid
,另一个名为tasks
包含一个名为 的列memberid
。在这种情况下,显示记录的条件如下:
membershipid
开person
=memberid
开tasks
这需要使用 JOIN 子句还是我仍然可以为此使用 WHERE 关键字?
谢谢参观。
当特定列tableX
的值与tableY
.
假设我们有 2 个表:一个名为person
包含一个名为的列membershipid
,另一个名为tasks
包含一个名为 的列memberid
。在这种情况下,显示记录的条件如下:
membershipid
开person
=memberid
开tasks
这需要使用 JOIN 子句还是我仍然可以为此使用 WHERE 关键字?
谢谢参观。
根据我对您的问题的理解,听起来是的,您只需INNER JOIN
要从.tableX
tableY
所以像:
SELECT tableXcol1, tableXcol2, tableXcol3
FROM tableX
INNER JOIN tableY
ON tableX.specific_column = tableY.specific_column
虽然可以使用where
子句来完成,但我建议您使用连接。
where
款式(不推荐)
select t1.field1, t1.field2, ...
from aTable as t1, anotherTable as t2
where t1.field1 = t2.field1;
join
款式(推荐)
select t1.field1, t1.field2, ...
from aTable as t1 inner join anotherTable as t2 on t1.field1 = t2.field1
如果您只需要来自 tableX 的数据而不需要来自 tableY 的数据,那么执行 aJOIN
可能会给您带来重复的数据。改为使用EXISTS
,例如
SELECT person.col1, person.col2
FROM person
WHERE
EXISTS (
SELECT 1
FROM tasks
WHERE
person.membershipid = tasks.memberid
)