SQL数据库实验三_简单查询(1)解答

SQL数据库实验三_简单查询(1)解答


2024年2月21日发(作者:)

实验三 简单查询(1)解答

实验结果

1. 查询全部职工的基本信息。

SQL语句:

SELECT *

FROM Employee

查询结果:

其他:

SELECT top 5 *

FROM Employee

2.查询员工表中所有职工的部门、职工号、姓名和薪水。

SQL语句:

SELECT department,employeeNo,employeeName, salary

FROM Employee

查询结果:

3.查询全体职工的姓名、年龄、所属部门,并且用汉语显示表头信息。

SQL语句:

SELECT employeeName 姓名, year(getdate())-year(birthday) 年龄,department 所属部门

FROM Employee

查询结果:

问题:

SELECT employeeName 姓名,year(getdate())-year(birthday)+1 AS 年龄,department 所属部门

FROM Employee

4.查询1973年出生且为职员的员工信息。

SQL语句:

SELECT *

FROM Employee

WHERE year(birthday)=1973 AND headShip='职员'

查询结果:

其他:

SELECT *

FROM Employee

WHERE year(birthday)='1973' AND headShip='职员'

5.查询业务科或财务科的职工姓名、性别和所在部门,仅显示前面5位职工。

SQL语句:

SELECT TOP 5 employeeName, sex,department

FROM Employee

WHERE department IN ('业务科','财务科')

查询结果:

其他:

SELECT TOP 5 employeeName,sex,department

FROM Employee

WHERE department='业务科'or department='财务科'

问题:

SELECT top 5 employeeName,sex,department

FROM Employee

Where department=业务科,财务科

6.查询薪水为2000或4000的职工编号、姓名、所在部门和薪水。

SQL语句:

SELECT employeeNo,employeeName,department, salary

FROM Employee

WHERE salary=2000 OR salary=4000

查询结果:

其他:

SELECT employeeNo,employeeName,department,salary

FROM Employee

WHERE salary='2000' OR salary='4000'

7.查询薪水在3000 ~ 4000的职工姓名和薪水。

SQL语句:

SELECT employeeName, salary

FROM Employee

WHERE salary BETWEEN 3000 AND 4000

查询结果:

8.查询薪水不在3000 ~ 4000的职工姓名和薪水。

SQL语句:

SELECT employeeName, salary

FROM Employee

WHERE salary NOT BETWEEN 3000 AND 4000

查询结果:

其他:

SELECT employeeName,department,salary

FROM Employee

where not (salary>=3000 and salary<=4000)

SELECT employeeName, salary

FROM Employee

WHERE salary<3000 OR salary>4000

9.查询所有姓张的职工姓名、所属部门和性别,且性别显示为“男”或“女”。

SQL语句:

SELECT employeeName,department,sex=

case sex

WHEN 'M' THEN '男'

WHEN 'F' THEN '女'

ELSE '不详'

END

FROM Employee

WHERE employeeName LIKE '张%'

查询结果:

其他:

select employeeName,department,

case

when sex='M' then '男'

when sex='F' then '女'

end sex

from Employee

where employeeName like '张%'

10. 查询姓张且全名为三个汉字的职工姓名。

SQL语句:

SELECT employeeName

FROM Employee

WHERE employeeName LIKE '张__'

查询结果:

问题:

SELECT employeeName

FROM Employee

WHERE employeeName LIKE '张__' AND employeeName NOT LIKE '张_'

11. 查询既不在业务科也不在财务科的职工姓名、性别和所在部门。

SQL语句:

SELECT employeeName,sex,department

FROM Employee

WHERE department NOT IN ('业务科','财务科')

查询结果:

其他:

select employeeName,sex,department

from Employee

where department<>'业务科' and department<>'财务科'

12. 查询1991年被雇佣的职工号、姓名、性别、电话号码、出生日期以及年龄,如果电话号码为空,显示“不详”,出生日期按yyyy-mm-dd显示。

SQL语句:

SELECT employeeNo,employeeName,sex, isnull(telephone,'不详') telephone,

CONVERT(CHAR(10),birthday,120) birthday,year(getdate())-year(birthday)

age

FROM Employee

WHERE year(hireDate)=1991

查询结果:

其他:

select employeeNo,employeeName,sex,telephone=isnull(telephone,'不详'),

birthday=convert(char(10),birthday,120),year(getdate())-year(birthday)

as age

from Employee

where year(hiredate)=1991

13. 查询9月出生的员工编号、姓名、出生日期、并按出生日期的降序输出。

SQL语句:

SELECT employeeNo,employeeName,birthday

FROM Employee

WHERE month(birthday)=9

ORDER BY birthday DESC

查询结果:

14. 查询职工工资最高的前8个职工编号、职工姓名和工资。

SQL语句:

SELECT TOP 8 employeeNo,employeeName,salary

FROM Employee

ORDER BY salary DESC

查询结果:

15. 查询职工工资按高低排序的前10%的职工编号、职工姓名和工资。

SQL语句:

SELECT TOP 10 percent employeeNo,employeeName,salary

FROM Employee

ORDER BY salary DESC

查询结果:

其他:

SELECT top((select count(*) from Employee)/10) employeeNo,employeeName,salary

FROM Employee

ORDER BY salary DESC

查询结果:

16. 在订单数据库中,根据员工的薪水进行分类显示。(薪水小于2000元的,显示“低收入者”,大于等于2000元小于4000元的,显示“中等收入者”,大于等于4000元的,显示“高收入者”。

SQL语句:

SELECT employeeNo,employeeName,salary,薪水级别=

CASE

WHEN salary<2000 THEN '低收入者'

WHEN salary<4000 THEN '中等收入者'

ELSE '高收入者'

END

FROM Employee

查询结果:

其他:

select employeeNo,employeeName,department,headship,salary, 薪水级别=

case

when salary<2000 then '低收入者'

when salary>=2000 and salary<4000 then '中等收入者'

when salary>=4000 then '高收入者'

end

from Employee


发布者:admin,转转请注明出处:http://www.yc00.com/news/1708507016a1570220.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信