1)Order By (排序)
单个关键字排序:
SELECT WorkNo,NAME,DeptName,InDate FROM S_A_User WHERE InDate IS NOT NULL ORDER BY InDate DESC
按数据录入日期进行员工排序;
多个关键字排序:
SELECT WorkNo,NAME,DeptName,InDate FROM S_A_User WHERE InDate IS NOT NULL ORDER BY DeptName DESC,InDate ASC
使用逗号分隔,升序、降序写在排序字段之后;
2)Group By (分组)(注意:使用Group by子句,前面的select后跟的字段必须出现在group by后面或者是写在select中的聚集函数(如sum avg等函数)中,否则会无法分组报错)
group by 指的就是分组,那以什么字段进行分组就是by后面接的字段,就像是统计一个班学生男女各多少,就首先要将学生以性别字段进行分组,然后计数统计
SELECT Sex,COUNT(*) FROM S_A_User GROUP BY Sex SELECT Sex,COUNT(*) FROM S_A_User WHERE DeptName LIKE '%设计管理部%' GROUP BY Sex
3)Having (分组后设置条件) 注意:对于分组以后的条件,一定要放到having中
作用:是跟在Group By子句后面,为其设置条件的
那与Where有什么区别呢?
如下示例代码,是选出人数大于10的部门
SELECT DeptName,COUNT(WorkNo) FROM S_A_User GROUP BY DeptName HAVING COUNT(WorkNo)>=10
SELECT DeptName,COUNT(*) FROM S_A_User WHERE Sex='Male' GROUP BY DeptName HAVING COUNT(*)>10
4)into (将查询出来的结果放到一张表(临时表)中)
SELECT * INTO #tmpwork FROM S_A_User WHERE Sex='Male'
#tmpwork 中的#表示临时表;
临时表与基本表的区别:
临时表只存在当次查询中,关闭查询后,临时表中的数据清除。
总结
End