准备条件,创建一张FOO表,如下:
CREATE TABLE FOO(
NAME VARCHAR(100),
AGE VARCHAR(10),
SEX VARCHAR(10)
);
INSERT INTO FOO VALUES('CZW','10','MALE');
INSERT INTO FOO VALUES('CZZ','20','FEMALE');
COMMIT;
SELECT * FROM FOO;
我们的查询:
SELECT
SUM(FOO.AGE)
FROM
FOO
WHERE
1 = 2
发现,这个SQL语句得到的是一个NULL,这样如果使用JDBC或者是第三方的框架,就可能会导致空指针异常.但是,这个SQL语句加上GROUP BY NULL的时候,就返回一个空的结果集,从而规避了空指针异常.
SELECT
SUM(FOO.AGE)
FROM
FOO
WHERE
1 = 2
GROUP BY NULL
SUM(FOO.AGE)
FROM
FOO
WHERE
1 = 2
GROUP BY NULL