简单的SQL查询问题:如何仅;选择";表A中的项目也在表B中

简单的SQL查询问题:如何仅;选择";表A中的项目也在表B中,sql,Sql,这是我在sqlite/python中使用的查询: Select wbCode from CountriesList_A 但是我想有一个IF语句,只返回同样在CountriesListB中的项目 建议?非常感谢。您可以这样做: select wbCode from CountriesList_A where wbCode in (select wbCode from CountriesListB) 尝试: 或 或 您可以使用内部联接直接联接到另一个表,该联接只返回两个表中存在的行 SELE

这是我在sqlite/python中使用的查询:

Select wbCode from CountriesList_A
但是我想有一个IF语句,只返回同样在CountriesListB中的项目

建议?非常感谢。

您可以这样做:

select wbCode 
from CountriesList_A 
where wbCode in (select wbCode from CountriesListB)
尝试:


您可以使用内部联接直接联接到另一个表,该联接只返回两个表中存在的行

SELECT a.wbCode
FROM CountriesList_A a
INNER JOIN CountriesList_B b ON a.wbCode = b.wbCode

为什么使用子查询而不是联接?为什么使用子查询而不是联接?没有特殊原因。连接往往会让人感到困惑,因此根据人们的提问方式,我会想到一个而不是另一个。为什么使用子查询而不是连接?
Select a.wbCode from CountriesList_A a
WHERE EXISTS (
  select b.wbCode 
  FROM CountriesListB b
  WHERE a.wbCode = b.wbCode)
Select a.wbCode from CountriesList_A a
WHERE a.wbCode IN (
  select b.wbCode 
  FROM CountriesListB b)
Select a.wbCode 
from CountriesList_A a inner join CountriesListB b 
  on a.wbCode = b.wbCode 
SELECT a.wbCode
FROM CountriesList_A a
INNER JOIN CountriesList_B b ON a.wbCode = b.wbCode