SQL操作题 来高手解答
一、将下列Table用SQL语句创建,table结构如下:雇员资料英文名称中文名称资料型态长度主键不为空值备注Employee2EmpNo雇员编号varchar20VVD...
一、将下列Table用SQL语句创建,table结构如下:
雇员资料
英文名称
中文名称
资料型态
长度
主键
不为空值
备注
Employee2
EmpNo
雇员编号
varchar
20
V
V
DeptNo
部门编号
varchar
30
V
EmpName
雇员姓名
varchar
30
V
EmpNameEn
雇员英文姓名
varchar
30
EmpCDate
报到日
DATETIME
V
EmpPhone
联系电话
varchar
30
EmpAddr
联系地址
varchar
50
EmpSex
雇员性别
char
1
0:男
1:女
EmpGrade
雇员级别
char
1
EmpSalary
底薪
bigint
EmpLDate
离职日
DATETIME
预设值为 null
二、往Employee2 资料档增一笔资料。
三、利用一句语法,QUERY 表格Employee内的资料,产生下列结果
EmpSex
女
男
四、利用一句语法,QUERY 表格Employee内的资料,产生下列结果
EmpNo EmpName EmpNameEn EmpSalary
-----------------------------------------------------
A004 小明 ccc 4000
A005 王五 ccc 1000
A003 小王 ccc 3000
五、利用一句语法,QUERY 表格Employee内的资料,查询结果雇员性别,底薪的平均值,底薪的合计值,底薪的最大值
六、利用一句语法,从Employee表格中QUERY出来,INSERT 到Employee2表格中
七、利用一句语法,删除Employee2资料,将同时存在於Employee表格中的资料删除。
八、查询Employee资料档,没有离职的人员或已经离职并且离职日期小於当前系统时间
九、查询Employee资料档薪资最高的前三个人员
十、查询Employee资料档,报导最早的前5名员工
十一、 查询Employee资料档,查询栏位︰雇员编号,雇员姓名,雇员英文姓名,底薪,联系电话。查询条件︰雇员英文姓名用模糊查询以'Y'开头的资料
十二、 查询Employee资料档,底薪在2000(含) 与 5000 (含)之间。用2种方式实现
十三、 查询Employee资料档,查询结果要雇员姓名,备注,备注栏位说明:离职日为 null , 显示"培训"。离职日不为 null , 显示 "离职"
十四、 请说明使用GroupBy时的注意事项 展开
雇员资料
英文名称
中文名称
资料型态
长度
主键
不为空值
备注
Employee2
EmpNo
雇员编号
varchar
20
V
V
DeptNo
部门编号
varchar
30
V
EmpName
雇员姓名
varchar
30
V
EmpNameEn
雇员英文姓名
varchar
30
EmpCDate
报到日
DATETIME
V
EmpPhone
联系电话
varchar
30
EmpAddr
联系地址
varchar
50
EmpSex
雇员性别
char
1
0:男
1:女
EmpGrade
雇员级别
char
1
EmpSalary
底薪
bigint
EmpLDate
离职日
DATETIME
预设值为 null
二、往Employee2 资料档增一笔资料。
三、利用一句语法,QUERY 表格Employee内的资料,产生下列结果
EmpSex
女
男
四、利用一句语法,QUERY 表格Employee内的资料,产生下列结果
EmpNo EmpName EmpNameEn EmpSalary
-----------------------------------------------------
A004 小明 ccc 4000
A005 王五 ccc 1000
A003 小王 ccc 3000
五、利用一句语法,QUERY 表格Employee内的资料,查询结果雇员性别,底薪的平均值,底薪的合计值,底薪的最大值
六、利用一句语法,从Employee表格中QUERY出来,INSERT 到Employee2表格中
七、利用一句语法,删除Employee2资料,将同时存在於Employee表格中的资料删除。
八、查询Employee资料档,没有离职的人员或已经离职并且离职日期小於当前系统时间
九、查询Employee资料档薪资最高的前三个人员
十、查询Employee资料档,报导最早的前5名员工
十一、 查询Employee资料档,查询栏位︰雇员编号,雇员姓名,雇员英文姓名,底薪,联系电话。查询条件︰雇员英文姓名用模糊查询以'Y'开头的资料
十二、 查询Employee资料档,底薪在2000(含) 与 5000 (含)之间。用2种方式实现
十三、 查询Employee资料档,查询结果要雇员姓名,备注,备注栏位说明:离职日为 null , 显示"培训"。离职日不为 null , 显示 "离职"
十四、 请说明使用GroupBy时的注意事项 展开
提示该问答中所提及的号码未经验证,请注意甄别。
1个回答
展开全部
--drop table Employeecreate table Employee(EmpNo varchar(20) primary key not null,--雇员编号 DeptNo varchar(30),--部门编号 EmpName varchar(30),--雇员姓名EmpNameEn varchar(30),--雇员英文姓名 EmpCDate datetime,--报到日DATETIMEVEmpPhone varchar(30),--联系电话EmpAddr varchar(50),--联系地址EmpSex char(10),--雇员性别 :男 1:女 EmpGrade char(1),--雇员级别EmpSalary numeric(22,8),--底薪 bigintEmpLDate DATETIME -- 离职日 预设值为 null)/*
*/--二、往Employee2 资料档增一笔资料。insert into Employee(EmpNo,DeptNo,EmpName,EmpNameEn,EmpCDate,DATETIMEVEmpPhone,EmpAddr,EmpSex,EmpGrade,EmpSalary)values('A001','01','小明','xiaoming','2014-1-1','888888888','联系地址一','男','1',3000)--三、利用一句语法,QUERY 表格Employee内的资料,产生下列结果select distinct EmpSex from Employee--四、利用一句语法,QUERY 表格Employee内的资料,产生下列结果 select EmpNo EmpName EmpNameEn EmpSalary from Employee--六、利用一句语法,从Employee表格中QUERY出来,INSERT 到Employee2表格中select * into Employee2 from Employee--七、利用一句语法,删除Employee2资料,将同时存在於Employee表格中的资料删除。delete from Employee where EmpNo in (select EmpNo from Employee2)delete from Employee2--八、查询Employee资料档,没有离职的人员或已经离职并且离职日期小於当前系统时间select * from Employee where bigintEmpLDate is null or bigintEmpLDate<getdate()--九、查询Employee资料档薪资最高的前三个人员select top 3 * from Employee order by EmpSalary desc--十、查询Employee资料档,报导最早的前5名员工select top 5 * from Employee order by EmpCDate--十一查询Employee资料档,查询栏位︰雇员编号,雇员姓名,雇员英文姓名,底薪,联系电话。查询条件︰雇员英文姓名用模糊查询以'Y'开头的资料select EmpNo 雇员编号,EmpName 雇员姓名,EmpNameEn 雇员英文姓名,EmpSalary 底薪 ,DATETIMEVEmpPhone 联系电话 from Employee where EmpNameEn like 'Y%'--十二查询Employee资料档,底薪在2000(含) 与 5000 (含)之间。用2种方式实现SELECT * FROM Employee where EmpSalary>=2000 and EmpSalary<=5000SELECT * FROM Employee where EmpSalary between 2000 and 5000--十三查询Employee资料档,查询结果要雇员姓名,备注,备注栏位说明:离职日为 null , 显示"培训"。离职日不为 null , 显示 "离职"select EmpName, case when bigintEmpLDate is null then '培训' else '离职' end 备注 from Employee--十四请说明使用GroupBy时的注意事项/*select 的字段必须是groupby的字段,否则字段必须使用统计函数*/
*/--二、往Employee2 资料档增一笔资料。insert into Employee(EmpNo,DeptNo,EmpName,EmpNameEn,EmpCDate,DATETIMEVEmpPhone,EmpAddr,EmpSex,EmpGrade,EmpSalary)values('A001','01','小明','xiaoming','2014-1-1','888888888','联系地址一','男','1',3000)--三、利用一句语法,QUERY 表格Employee内的资料,产生下列结果select distinct EmpSex from Employee--四、利用一句语法,QUERY 表格Employee内的资料,产生下列结果 select EmpNo EmpName EmpNameEn EmpSalary from Employee--六、利用一句语法,从Employee表格中QUERY出来,INSERT 到Employee2表格中select * into Employee2 from Employee--七、利用一句语法,删除Employee2资料,将同时存在於Employee表格中的资料删除。delete from Employee where EmpNo in (select EmpNo from Employee2)delete from Employee2--八、查询Employee资料档,没有离职的人员或已经离职并且离职日期小於当前系统时间select * from Employee where bigintEmpLDate is null or bigintEmpLDate<getdate()--九、查询Employee资料档薪资最高的前三个人员select top 3 * from Employee order by EmpSalary desc--十、查询Employee资料档,报导最早的前5名员工select top 5 * from Employee order by EmpCDate--十一查询Employee资料档,查询栏位︰雇员编号,雇员姓名,雇员英文姓名,底薪,联系电话。查询条件︰雇员英文姓名用模糊查询以'Y'开头的资料select EmpNo 雇员编号,EmpName 雇员姓名,EmpNameEn 雇员英文姓名,EmpSalary 底薪 ,DATETIMEVEmpPhone 联系电话 from Employee where EmpNameEn like 'Y%'--十二查询Employee资料档,底薪在2000(含) 与 5000 (含)之间。用2种方式实现SELECT * FROM Employee where EmpSalary>=2000 and EmpSalary<=5000SELECT * FROM Employee where EmpSalary between 2000 and 5000--十三查询Employee资料档,查询结果要雇员姓名,备注,备注栏位说明:离职日为 null , 显示"培训"。离职日不为 null , 显示 "离职"select EmpName, case when bigintEmpLDate is null then '培训' else '离职' end 备注 from Employee--十四请说明使用GroupBy时的注意事项/*select 的字段必须是groupby的字段,否则字段必须使用统计函数*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询