Description:
When executing the following queries:
```sql
SELECT
(NULL > ALL (SELECT 0 FROM t0)) AS val,
(NULL > ALL (SELECT 0 FROM t0)) IS NULL AS is_null;
```
MySQL produces the following result:
```
+-----+---------+
| val | is_null |
+-----+---------+
| NULL | 0 |
+-----+---------+
1 row in set (0.00 sec)
```
I regard this as a wrong result because `null is null` should be a true statement, which is not the case of the above execution. On the contrary, when executing the following queries:
```
SELECT
(NULL > ALL (SELECT 0)) AS val,
(NULL > ALL (SELECT 0)) IS NULL AS is_null,
```
MySQL produces the following result:
```
+------+---------+
| val | is_null |
+------+---------+
| NULL | 1 |
+------+---------+
1 row in set (0.00 sec)
```
I wonder if this is a bug.
How to repeat:
```sql
DROP TABLE IF EXISTS t0;
CREATE TABLE t0 (
c INT
);
INSERT INTO t0 VALUES (0), (0);
SELECT COUNT(*) AS cnt FROM t0;
SELECT
(NULL > ALL (SELECT 0 FROM t0)) AS val,
(NULL > ALL (SELECT 0 FROM t0)) IS NULL AS is_null;
SELECT
(NULL > ALL (SELECT 0)) AS val,
(NULL > ALL (SELECT 0)) IS NULL AS is_null;
```
Description: When executing the following queries: ```sql SELECT (NULL > ALL (SELECT 0 FROM t0)) AS val, (NULL > ALL (SELECT 0 FROM t0)) IS NULL AS is_null; ``` MySQL produces the following result: ``` +-----+---------+ | val | is_null | +-----+---------+ | NULL | 0 | +-----+---------+ 1 row in set (0.00 sec) ``` I regard this as a wrong result because `null is null` should be a true statement, which is not the case of the above execution. On the contrary, when executing the following queries: ``` SELECT (NULL > ALL (SELECT 0)) AS val, (NULL > ALL (SELECT 0)) IS NULL AS is_null, ``` MySQL produces the following result: ``` +------+---------+ | val | is_null | +------+---------+ | NULL | 1 | +------+---------+ 1 row in set (0.00 sec) ``` I wonder if this is a bug. How to repeat: ```sql DROP TABLE IF EXISTS t0; CREATE TABLE t0 ( c INT ); INSERT INTO t0 VALUES (0), (0); SELECT COUNT(*) AS cnt FROM t0; SELECT (NULL > ALL (SELECT 0 FROM t0)) AS val, (NULL > ALL (SELECT 0 FROM t0)) IS NULL AS is_null; SELECT (NULL > ALL (SELECT 0)) AS val, (NULL > ALL (SELECT 0)) IS NULL AS is_null; ```