某公司用数据库来管理员工销售记录,表结构为: Dept EmployeeID city income 部门 员工号 城市 销售

某公司用数据库来管理员工销售记录,表结构为: Dept EmployeeID city income 部门 员工号 城市 销售,第1张

列出员工号为101的员工销售清单

SELECT

FROM

tb

WHERE

EmployeeID = '101';

列出各部门销售收入的汇总

SELECT

Dept,

SUM( income )

FROM

tb

GROUP BY

Dept;

求出销售收入最高的城市

SELECT TOP 1

city

FROM

tb

GROUP BY

city

ORDER BY

SUM( income ) DESC;

CREATE OR REPLACE PROCEDURE 存储过程名(in_id IN VARCHAR2,out_wage OUT VARCHAR2)

ASBEGINSELECTwage(此为你数据库表中员工工资字段名)into out_wage FROM 员工工资表名WHEREid(此为你数据库表中员工工号字段名)=in_id;

END存数过程名;in_id为输入的员工工号;out_wage为查询后输出地工资。在此例中,它们为VARCHAR2,设置的为NUMBER类型,要相应做修改。

扩展资料

这类语言主要提供以下功能,让用户可以设计出符合应用需求的程序:

1、变量说明

2、ANSI(美国国家标准化组织)兼容的SQL命令(如Select,Update…)

3、一般流程控制命令(if…else…、while…)

4、内部函数

种类

1系统存储过程

以sp_开头,用来进行系统的各项设定取得信息相关管理工作。

2本地存储过程

用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。

3临时存储过程

分为两种存储过程:

一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;

二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。

4远程存储过程

在SQLServer2005中,远程存储过程(RemoteStoredProcedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。

5扩展存储过程

扩展存储过程(ExtendedStoredProcedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。

参考资料来源:百度百科-存储过程

#为了分,我也是蛮拼的

#创建表开始

create table employee(

empid int primary key auto_increment,

name varchar(20) not null,

sex varchar(5) not null,

birth date not null,

level varchar(10) not null,

salary decimal(12,2) not null);

#表创建结束

#假设数据已插入

#查询开始 sel1 name 王% name,level

select empid,name,level from employee where name like '王%';

#sel2 每种level的avg salary假设level有 经理和职工两种

select sum(salary)/count(salary) as '平均工资' from employee where level='经理';

select sum(salary)/count(salary) as '平均工资' from employee where level='职工';

#sel3将empid=101的level update '经理';

#如果是这样,上面的表结构empid可以不为自动增量,楼主可以自己插入empid

update employee set level='经理' where empid=101;

告诉你原理,至于触发器 则自己去写我们要自动编号的话还要建立一个索引通过索引来进行 *** 作会简单很多index=identity(int,1,1)

增加一个这样的字段

然后,查找出你需要的拼音字母前两个

declare @py varchar(2)

set @py=''

select @py=@py+字母字段 from 拼音表 where @姓名 like '%+汉字字段+%'

order by charindex(rtrim(汉字字段),@姓名) asc

这么查就把前面两个拼音字母查出来了,你对姓名表进行遍历

然后分组查询属于该姓名的最大id

select @maxid=max(cast(substring(3,len(id)) as int ) from

(

select from 表 where substring(id,1,2)=@py

)a

然后加1 ,剩下的自己写注意当查询不到的时候 @maxid 要等于0

一共4个实体:职工 、部门、产品、制造商。

三个关系:

职工和部门之间的任职关系是1:N的关系,部门那边是1,职工那边是N。

部门和产品之间的销售关系。也是1:N的关系,部门那边是1,产品那边是N,

产品和制造商之间的制造关系是N:M的关系。

关系数据模型;

职工(职工号、部门号、姓名、性别、年龄) 主码:职工号。外码:部门号

部门(部门号、部门名、经理) 主码:部门号

产品(产品号、部门号、产品名称、规格、单价)主码:产品号,外码:部门号

制造商(制造商名、地址、电话)主码:制造商名

制造(产品号、制造商名)主码:产品号、制造商名。外码:产品号是产品表的外码、制造商名是制造商表的外码。

select 订单订单编号,订单订单内容,员工基本信息

from 员工基本信息,订单,订单处理

where 员工基本信息员工编号=订单处理员工编号 and 订单处理订单编号=订单订单编号

and 订单处理员工编号=2001

以上就是关于某公司用数据库来管理员工销售记录,表结构为: Dept EmployeeID city income 部门 员工号 城市 销售全部的内容,包括:某公司用数据库来管理员工销售记录,表结构为: Dept EmployeeID city income 部门 员工号 城市 销售、创建一个存储过程,以员工号为参数,输出该员工的工资。(急)、数据库有以下一张表:职工表:职工编号、姓名、性别、出生日期和职位,工资五个字段用SQL语句完成以下查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9631287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存