有没有更有效的方法来执行这个嵌套的 SQL 查询?

Is there a more efficient way to execute this nested SQL query?

我正在编写一个查询来填充用户表单上的 select 框,它工作正常,但是当我查看 SQL 时,我觉得应该有更好、更高效的方法写它的方法。请注意下面的两个嵌套 SELECT 来自相同的 table.

我想知道是否有一个 SQL 技巧可以添加到我的保留曲目中,因为我不得不时不时地做这样的查询。或者也许我的方法在某些标准下是草率的?感谢任何反馈。

这是SQL:

SELECT c.id, c.county_name, adr.county
FROM (SELECT id, county_name FROM counties WHERE state = (SELECT state FROM members WHERE id = 53)) AS c
    LEFT JOIN (SELECT county FROM members WHERE id = 53) AS a ON c.id = a.county;

结果如下(部分): http://i.stack.imgur.com/Jawfa.png 右栏“3022”为会员53所在县

如果需要,这里是对查询和我的意图的解释:

我有一个 members table,其中县字段存储为一个整数,链接到一个名为 counties[的查找 table =33=]。我还想将县结果过滤到会员所在的州。

查询正在填充 HTML select 元素,我想预 select 成员所在的县。我的 PHP 唯一可用的信息(无需 运行 第二次查询以获取更多信息)是会员 ID。

所以查询需要 return 县 ID、县名称和某种标识符,让我知道哪个记录与成员匹配(我只是使用链接县字段和我的代码将对此进行检查)。

数据库是从 PDO ODBC 连接访问的 MDB 文件。

您可能不需要任何子查询,但可能需要 self-join:

SELECT counties.id, counties.county_name, members_1.county
FROM counties 
INNER JOIN members ON counties.state = members.state
LEFT JOIN members_1 ON counties.id = members_1.county
WHERE members.id = 53 AND members_1.id = 53