MariaDB [sqltester]> create table t1 (a int);
|
Query OK, 0 rows affected (0,031 sec)
|
|
MariaDB [sqltester]> insert into t1 values (1),(2),(3);
|
Query OK, 3 rows affected (0,002 sec)
|
Records: 3 Duplicates: 0 Warnings: 0
|
|
MariaDB [sqltester]> SELECT a FROM t1 WHERE EXISTS ( SELECT count(*) over () FROM (select 1)dt WHERE (EXISTS ( SELECT t1.a FROM (select 1)f WHERE 0 )) );
|
+------+
|
| a |
|
+------+
|
| 1 |
|
| 2 |
|
| 3 |
|
+------+
|
3 rows in set (0,002 sec)
|
|
MariaDB [sqltester]> SELECT count(*) over () FROM (select 1)dt where 0;
|
Empty set (0,000 sec)
|
|
MariaDB [sqltester]> explain extended SELECT a FROM t1 WHERE EXISTS ( SELECT count(*) over () FROM (select 1)dt WHERE (EXISTS ( SELECT t1.a FROM (select 1)f WHERE 0 )) );
|
+------+--------------------+------------+--------+---------------+------+---------+------+------+----------+------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+------------+--------+---------------+------+---------+------+------+----------+------------------+
|
| 1 | PRIMARY | t1 | ALL | NULL | NULL | NULL | NULL | 3 | 100.00 | Using where |
|
| 2 | DEPENDENT SUBQUERY | <derived3> | system | NULL | NULL | NULL | NULL | 1 | 100.00 | Using temporary |
|
| 4 | DEPENDENT SUBQUERY | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Impossible WHERE |
|
| 5 | DERIVED | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | No tables used |
|
| 3 | DERIVED | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | No tables used |
|
+------+--------------------+------------+--------+---------------+------+---------+------+------+----------+------------------+
|
5 rows in set, 2 warnings (0,001 sec)
|
|
Note (Code 1276): Field or reference 'sqltester.t1.a' of SELECT #4 was resolved in SELECT #1
|
Note (Code 1003): /* select#1 */ select `sqltester`.`t1`.`a` AS `a` from `sqltester`.`t1` where <in_optimizer>(1,<expr_cache><`sqltester`.`t1`.`a`>(exists(/* select#2 */ select count(0) over () from dual where <in_optimizer>(1,<expr_cache><`sqltester`.`t1`.`a`>(exists(/* select#4 */ select `sqltester`.`t1`.`a` from (/* select#5 */ select 1 AS `1`) `f` where 0 limit 1))) limit 1)))
|