SELECT语句的完整语法为:
SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
FROM tableexpression[,…][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]
注意 Where,GroupBy,Having,OrderBy 顺序。
执行步骤
1)先从from字句一个表或多个表创建工作表
2)将where条件应用于1)的工作表,保留满足条件的行
3)GroupBy 将2)的结果分成多个组
4)Having 将条件应用于3)组合的条件过滤,只保留符合要求的组。
5)Order By对结果进行排序。
使用DISTINCT去除重复的信息
执行:
select * from student
返回结果
-stuName -stuno
Tom Sawyer 1
Andy Ke 2
Angelia Jolie 3
Celine Dion 4
alex 5
alex 6
执行:
select distinct stu_name from student
结果:
alex
Andy Ke
Angelia Jolie
Celine Dion
Tom Sawyer
即去掉了重复值,又对查询结果进行了排序。实际上DBMS的操作过程是先对查询结果排序在从结果中去除重复的