Here is verified behaviour, which is correct: drizzle> use test Database changed drizzle> create table t1 (a int, b int, c int); Query OK, 0 rows affected (0.00 sec) drizzle> create table t2 (d int); Query OK, 0 rows affected (0.01 sec) drizzle> create table t3 (a1 int, b1 int, c1 int); Query OK, 0 rows affected (0.01 sec) drizzle> insert into t1 values(1,2,3); Query OK, 1 row affected (0.00 sec) drizzle> insert into t1 values(11,22,33); Query OK, 1 row affected (0.00 sec) drizzle> insert into t2 values(99); Query OK, 1 row affected (0.00 sec) drizzle> drizzle> select t1.* from t1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 11 | 22 | 33 | +------+------+------+ 2 rows in set (0.00 sec) drizzle> select a, t1.* from t1; +------+------+------+------+ | a | a | b | c | +------+------+------+------+ | 1 | 1 | 2 | 3 | | 11 | 11 | 22 | 33 | +------+------+------+------+ 2 rows in set (0.00 sec) drizzle> select t1.*, a from t1; +------+------+------+------+ | a | b | c | a | +------+------+------+------+ | 1 | 2 | 3 | 1 | | 11 | 22 | 33 | 11 | +------+------+------+------+ 2 rows in set (0.00 sec) drizzle> select a, t1.*, b from t1; +------+------+------+------+------+ | a | a | b | c | b | +------+------+------+------+------+ | 1 | 1 | 2 | 3 | 2 | | 11 | 11 | 22 | 33 | 22 | +------+------+------+------+------+ 2 rows in set (0.00 sec) drizzle> select (select d from t2 where d > a), t1.* from t1; +--------------------------------+------+------+------+ | (select d from t2 where d > a) | a | b | c | +--------------------------------+------+------+------+ | 99 | 1 | 2 | 3 | | 99 | 11 | 22 | 33 | +--------------------------------+------+------+------+ 2 rows in set (0.00 sec) drizzle> select t1.*, (select a from t2 where d > a) from t1; +------+------+------+--------------------------------+ | a | b | c | (select a from t2 where d > a) | +------+------+------+--------------------------------+ | 1 | 2 | 3 | 1 | | 11 | 22 | 33 | 11 | +------+------+------+--------------------------------+ 2 rows in set (0.00 sec) drizzle> select a as 'x', t1.* from t1; +------+------+------+------+ | x | a | b | c | +------+------+------+------+ | 1 | 1 | 2 | 3 | | 11 | 11 | 22 | 33 | +------+------+------+------+ 2 rows in set (0.00 sec) drizzle> select t1.*, a as 'x' from t1; +------+------+------+------+ | a | b | c | x | +------+------+------+------+ | 1 | 2 | 3 | 1 | | 11 | 22 | 33 | 11 | +------+------+------+------+ 2 rows in set (0.00 sec) drizzle> select a as 'x', t1.*, b as 'x' from t1; +------+------+------+------+------+ | x | a | b | c | x | +------+------+------+------+------+ | 1 | 1 | 2 | 3 | 2 | | 11 | 11 | 22 | 33 | 22 | +------+------+------+------+------+ 2 rows in set (0.01 sec) drizzle> select (select d from t2 where d > a) as 'x', t1.* from t1; +------+------+------+------+ | x | a | b | c | +------+------+------+------+ | 99 | 1 | 2 | 3 | | 99 | 11 | 22 | 33 | +------+------+------+------+ 2 rows in set (0.00 sec) drizzle> select t1.*, (select a from t2 where d > a) as 'x' from t1; +------+------+------+------+ | a | b | c | x | +------+------+------+------+ | 1 | 2 | 3 | 1 | | 11 | 22 | 33 | 11 | +------+------+------+------+ 2 rows in set (0.00 sec)