2013-05-16 4 views
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' ; 

Мой интервьюер ожидал, что я буду использовать подзапрос. Это возможно? Является ли мой запрос правильным подходом?

ответ

2

Пожалуйста, проверьте следующее:

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

Учитывая имя сверхчеловека является уникальным.

+4

Это звучит хорошо. Благодаря ! – Tan

2

Надеюсь, что это поможет вам.

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

используя = где я использовал in также поможет таким же образом.

+0

Это подзапрос? – Tan

+0

да это ........ – NoNaMe

Смежные вопросы