[feature-wip](MTMV) Support table aliases when creating a materialized view with multiple tables (#15849)
## Use Case
mysql> CREATE TABLE t_user (
-> event_day DATE,
-> id bigint,
-> username varchar(20)
-> )
-> DISTRIBUTED BY HASH(id) BUCKETS 10
-> PROPERTIES ('replication_num' = '1');
Query OK, 0 rows affected (0.07 sec)
mysql> CREATE TABLE t_user_pv(
-> event_day DATE,
-> id bigint,
-> pv bigint
-> )
-> DISTRIBUTED BY HASH(id) BUCKETS 10
-> PROPERTIES ('replication_num' = '1');
Query OK, 0 rows affected (0.09 sec)
mysql> CREATE MATERIALIZED VIEW mv
-> BUILD IMMEDIATE REFRESH COMPLETE
-> START WITH "2022-10-27 19:35:00"
-> NEXT 1 SECOND
-> KEY (username)
-> DISTRIBUTED BY HASH(username) BUCKETS 10
-> PROPERTIES ('replication_num' = '1')
-> AS SELECT t1.username ,t2.pv FROM t_user t1 LEFT JOIN t_user_pv t2 on t1.id = t2.id;
Query OK, 0 rows affected (0.10 sec)
mysql> DESC mv;
+----------+-------------+------+-------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-------+---------+-------+
| username | VARCHAR(20) | Yes | true | NULL | |
| pv | BIGINT | Yes | false | NULL | NONE |
+----------+-------------+------+-------+---------+-------+
2 rows in set (0.02 sec)