可以显示国内生产总值高于任何国家的代码

时间:2018-10-21 08:06:29

标签: sql

我是SQL的新手,正试图解决有关SQLzoo的问题

  

选择代码,以显示GDP高于非洲任何国家的国家(某些国家的gdp值可能为NULL)。

我对这个问题的回答是

    SELECT name FROM bbc
    WHERE gdp > ALL (SELECT gdp 
                     FROM bbc 
                     WHERE region = 'Africa' 
                     AND gdp<>NULL)

但是网站上的正确答案是

SELECT name FROM bbc
 WHERE gdp > (SELECT MAX(gdp) 
              FROM bbc 
              WHERE region = 'Africa')

我不明白为什么我选择的答案是错误的

Quiz Question No 5

1 个答案:

答案 0 :(得分:1)

您选择的> all (...)解决方案存在的问题是某些gdp值为空。

当您将非null值与null进行比较时,结果为null,除非您使用null安全的运算符,例如is null