0

我正在使用 Access 数据库,需要帮助将以下嵌套查询转换为内部连接查询。

DIRNUM 是 DIRECTOR 表中的主键,它也在 MOVIE 表中。MVNUM 是 MOVIE 表和 MOVSTAR 表中的主键。

SELECT dirname 
FROM director
WHERE dirnum IN (SELECT dirnum 
                 FROM movie 
                 WHERE mvnum IN  (SELECT mvnum 
                                  FROM movstar 
                                  WHERE starnum=2)
                );
4

2 回答 2

2

你想选择不同的(因为你没有使用“WHERE IN”语法,你会得到重复的)

SELECT DISTINCT dirname 
FROM 
    (director d
INNER JOIN 
    movie m ON m.dirnum = d.dirnum)
INNER JOIN
    movstar ms ON ms.mvnum = m.mvnum
WHERE
    ms.starnum=2
于 2016-05-04T19:58:58.577 回答
1
SELECT
    dirname 
FROM 
    (director d
INNER JOIN 
    movie m ON m.dirnum = d.dirnum)
INNER JOIN
    movstar ms ON ms.mvnum = m.mvnum
WHERE
    ms.starnum=2

编辑:如 HansUp 所指出的,更改为添加括号

于 2016-05-04T19:13:58.417 回答