0

请考虑下表:

Table Name: Person   
Person_Id   Name 

Table Name: DVD    
DVD_ID  Owner_ID  Title

我想要一个查询,它返回属于拥有“超人”的所有者的 DVD 列表。这是我的解决方案:

SELECT p.name,d.dvd_id
FROM  DVD d,Person p
WHERE p.person_id = d.dvd_id
AND Title = 'Superman' ;

我的面试官希望我使用子查询。那可能吗?我的查询是正确的方法吗?

4

2 回答 2

2

希望如此,这将对您有所帮助。

select dvd_id 
from DVD 
where Owner_ID in 
(select person_id 
 from person 
 where name = 'Superman')

使用=我使用过的地方in也会以同样的方式提供帮助。

于 2013-05-16T04:36:24.907 回答
2

请检查:

select 
    * 
from 
    DVD 
where 
    Owner_ID=(select Person_Id from Person where Name='Superman')

名字超人是独一无二的。

于 2013-05-16T04:36:31.037 回答