select avg(salary), max(salary), min(salary)。
from table。
group by department。
"Oh, who was that?" Mr. Black asked. “哦,是谁?”布莱克先生问。
"Oh, how blind you are!" he cried. “哎呀,你难道瞎了吗!”他大声道。
"Oh,what‘s that?" I asked。“噢,那是什么?”我问道。
动名词V-ing:动名词是一种兼有动词和名词特征的非限定动词。它可以支配宾语,也能被副词修饰。动名词有时态和语态的变化。
动词不定式:由to+动词原型构成。不定式是一种非限定性动词。而非限定动词是指那些在句中不能单独充当谓语的动词,可分为不定式、动名词、现在分词和过去分词。
分词[participle]:具有动词及形容词二者特征的词;尤指以ing、ed、d、t、en或n结尾的英语动词性形容词,具有形容词功能,同时又表现各种动词性特点,如时态,语态、带状语性修饰语的性能及带宾词的性能。
扩展资料:
SQL包括了所有对数据库的 *** 作,主要是由4个部分组成:
1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
2.数据 *** 纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类 *** 作,其中数据更新又包括插入、删除和更新三种 *** 作。
3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
参考资料来源:百度百科-SQL数据库
你是要统计每个部门各档次薪资的人数吗?你可以用类似如下的语句来实现,其中sm_dep为你的部门表名。
select a.deptid,b.deptname,
count(case when salary <1000 then 1 end) as 1000以下,
count(case when salary >= 1000 and salary <2000 then 1 end) as 1000(含)-2000(不含),
count(case when salary >= 2000 and salary <3000 then 1 end) as 2000(含)-3000(不含),
count(case when salary >= 3000 and salary <4000 then 1 end) as 3000(含)-4000(不含)
from sm_employee a,sm_dep b
where a.deptid = b.deptid
group by a.deptid,b.deptname
用一句话还是比较复杂的,虽然需求看上去并不复杂:D
--方案---------------------------
同一个表,作自关联(行号=行号-1)。
WITH EmpSalary AS ( -- 因为结果集要自关联,使用CTE(公共表达式),可避免写n遍SELECT
ROW_NUMBER() OVER (ORDER BY Value) AS RowNo -- 生成行号,按工资排序
,VALUE AS Salary
FROM dbo.Test
)
SELECT E1.*
,E2.Salary - E1.Salary AS Diff
FROM EmpSalary E1
LEFT JOIN EmpSalary E2 ON E2.RowNo = E1.RowNo + 1 -- 表自关联
ORDER BY E1.Salary
注:
1、以上代码使用了CTE(公共表达式),这样代码清晰。
2、不可使用内部字段(ID、EmpNo等),避免因为跳号而关联错误
3、相应地,使用了ROW_NUMBER()函数来产生临时性的行号
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)