0

我正在尝试回答 SQLZoo.net 网站上的问题 #8。链接在这里。这应该很简单,但我认为我只是在想自己。链接在这里:

http://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial

4

2 回答 2

0

子查询并不是真正需要的,而是一个简单的自联接。通过使用 将表格与自身连接LEFT JOIN,您可以获得所需的结果,但在表格连接期间,您需要在ON子句中过滤化学主题的那些年份。

SELECT  DISTINCT a.yr
FROM    nobel a
        LEFT JOIN nobel b
            ON a.yr = b.yr AND b.subject = 'Chemistry'
WHERE   b.yr IS NULL AND
        a.subject = 'Physics'

单击此处获取屏幕截图

于 2013-03-19T05:19:56.123 回答
0

select distinct yr 
from nobel 
where subject='Physics' 
    and yr not in ( select yr from nobel where subject='Chemistry')

于 2013-03-19T05:37:57.030 回答