(2)由于还没处理SELECT语句,所以,不能使用SELECT user_id AS uid语句中的别名uid
GROUP BY:
将T4表进行分组,生成一个表T5(值为NULL的成为一组)
HAVING:
对分组条件进行过滤,生成T6表
SELECT:
T6中摘除相关的列,生成一个表T7
注:在SELECT语句中会出现SELECT user_id AS uid的语句,其中的uid别名,在以上的语句中都不能使用,因为在之前的子句执行时,该别名并未生成;在SELECT 中后句也不能其他别名,例如SELECT user_id AS uid,uid+1 AS usd在该句中uid+1 AS usd也是错误的。
DISTINCT:
对DISTINCT操作的列增加一个索引,一次来去除重复数据。
注:在使用了GROUP BY之后,再使用DISTINCT是无效的。
ORDER BY:
对T7数据进行排序,NULL值会被视为最小值,例如,在 ORDER BY uid ASC句中,NULL值会排第一位。(值为NULL的会排在一起)