Bootstrap

SQL server 实验4.1数据库的查询

书目:SQL sever 实用教程(第五版)(SQL server 2008版)

本实验使用数据表为实验3中创建的employees、departments、salary表

e6846c31847044518e4db714245c8109.jpg

1.基本查询


(1)对于实验3给出的数据库表的结构,查询每个雇员的所有数据。5436dc792dd849a9b6766f793f581441.png

思考与练习

  • 用select语句查询departments和salary表中所有的数据信息b9dcbe3661d84cf88e7ba0d2f46dbea1.png

(2)用select语句查询employees表中每个雇员的地址和电话

97133fc5d3bb4edabd0d67cd3a022a50.png

 思考与练习

  • 用select语句查询departments和salary表的一列或若干列33b985c24b034104ade173115893332d.jpg
  •  查询employees表中的部门编号和性别,要求使用distinct消除重复行0e330eb5d4284f1ba4877f834f48b316.jpg


(3)查询employeeID为000001的雇员的地址和电话9d1b0f76a2bb4055b66c1261b321ed6e.png

 思考与练习

  • 查询月收入高于2000元的员工编号c95835de54c349f9bea1e5f225e68b22.png
  •  查询1970年以后出生的员工的姓名和住址
  • b73c0bc03e7b43db9dd8d4148bab580f.png

  


(4) 查询employees表中女雇员的住址和电话,使用as子句将结果中各列的标题分别指定为住址、电话。

a591a86e42c64763bba52f9bbe5247bc.png

 思考与练习

  • 查询employees表中男员工的姓名和出生日期,要求将各列标题用中文表示
  • f90ea3ac215544e7b126302aa9fac516.png


(5) 查询employees表中员工的姓名和性别,要求sex值为1时显示为“男”,为0时显示为“女”。

23a959d37ab14902b28e035f13f989c9.png

 思考与练习

  • 查询employees员工的姓名、住址、和收入水平,2000元以下为显示为低收入,2000~3000元显示为中等收入,3000元以上显示为高收入。
  • 00c8b6d8fec746fc9c473452398655f4.png


(6) 计算每个雇员的实际收入。

24a22632f4b342f5a4d5bff8fb9891b6.png


(7)获得员工总数

66a7f073fdd54de19790ebb6ac2bdb08.png

思考与练习

  • 计算salary表中员工月收入的平均数07d49a4ed16c43438585431629f65f17.png
  • 获得employees表中年龄最大的员工编号d30e8866142f48d099b63cf484c8035b.png 
  •  计算salary表中所有员工的总支出c99f1beffcf34209b657c52b39ff8581.png 
  • 查询财务部雇员的最高和最低实际收入5baac8c770a44c7ba2f45f69dd9d0e24.png 

(8) 找出所有姓王的雇员的部门编号

29d5a675671d4cd78071069718f96e68.png

 思考与练习

  • 找出所有其住址中含有“中山”的雇员的员工编号及部门编号bc71d80b6f4f4201b2fd96ad19373266.png
  • 查找员工编号中倒数第二个数字为“0”的员工的姓名、住址、和学历。c2dd93b2d9d5471e8b33ea8b752269bb.png 

(9) 找出所有收入在2000~3000元之间的员工编号。

13c3d9feb77b47fa84ee6105afdbed89.png

 思考与练习

  • 找出所有部门“1”或“2”工作的雇员的员工编号534b4237598b4855b1fdd316294b8070.png


(10)使用INTO子句,由表salary创建“收入在1500元以上的员工”表,包括员工编号和收入。

3c3a1eea3bb5468d93a0076084ff2783.png

 思考与练习

  • 使用INTO子句,由表employees创建“男员工”表,包括员工编号和姓名。5693f0cc74014e34a68851be8efc2cf7.png


2.子查询


(1)查找在财务部工作的雇员的情况。

f9a83876398e44d6bef981a71f65b14d.png

 思考与练习

  • 用子查询的方法查找所有收入在2500元以下的雇员的情况。ff8786f29c4a4bd287350357af4f18d1.png


(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名。

bc333fd6dd28478baf8d7ecbb5591a74.png

思考与练习

  • 用子查询的方法查找研发部比财务部雇员收入都高的雇员的姓名5d59ac4ce2e743aeb93a250761c20038.png


(3)查找比所有财务部的雇员收入都高的雇员的姓名

c4fd5b30310c4cc39d4be59991c7c438.png

 思考与练习

  • 用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的姓名fbe53c3cc1584d8eaab7e71c53a17069.png


3.连接查询


(1)查询每个雇员的情况及其薪水情况

16535effbf08495ca40249f4db281c10.png

 思考与练习

  • 查询每个雇员的情况及其工作部门的情况655c450e57124eaaa2b03550537f605c.png


(2)使用内连接的方法查询名字为“王林”的员工所在的部门。

ff99341b528f4e938dccea00ea68c7a9.png

 思考与练习

  • 使用内连接的方法查找出不在财务部工作的所有员工信息。34731ec8537d45a8a3c42cd5e72742a7.png
  •  使用外连接的方法查找出所有员工的月收入ca690cce3aea4fafb92a30941f8b423d.png


(3)查找财务部收入在2000元以上的雇员姓名及其薪水详情

43380741111740b5b8ce2bbc9cbcfa4f.png

 思考与练习

  • 查询研发部在1976年以前出生的雇员姓名及其薪水详情。a46334f04f58442497f393c066f66e8e.png


4.使用聚合函数查询


(1)求财务部雇员的平均收入

49f3f419fc5f4cf3b5f3ee3a20b3bb44.png

 思考与练习

  • 查询财务部雇员的最高和最低收入9444f84c66cf40f1b3a1313c9b8c76f5.png


(2)求财务部雇员的平均实际收入

8b3495d6395242e79c4f1af5ad2f0cfc.png

 思考与练习

  • 查询财务部雇员的最高和最低实际收入8d2a7d293f674bdcbd7eaf49b4e0dee6.png

 (3)求财务部雇员的总人数

ce04d3d2292c420dbb568e813987e00b.png

 思考与练习

  • 统计财务部收入在2500元以上的雇员人数0397e9cce29f4b378e58e0c5f8bcfe38.png


5.查询结果分组和排序


(1)查找employees表中男性和女性的人数。

486471f8b79a430698692fab5ccc0b54.png

 思考与练习

  • 按员工的学历分组,排列出本科、大专和硕士的人数dd7b20d3498a40c195a2f949d77585bc.png


(2)查找员工数超过2人的部门名称和员工数量。

850e407965924b6eb39c615d2e74e4bf.png

 cb2608f39eb14d5f96170911b1d4ae32.png

 课本源码查找结果非部门名称

思考与练习

  • 按员工的工作年份分组,统计各个工作年份的人数,如工作1年的多少人,工作2年的多少人。66a7acfba14b44d59c7412f2393ca37c.png


(3)将各雇员的情况按收入有低到高排列。aabd291b26f9409db454cd6b0ffc9658.png

 思考与练习

  • 将员工信息按出生时间从小到大排列197a5ac716914c95b48d1795dd2f3914.png
  •  在order by 子句中使用子查询,查询员工姓名、性别和工龄信息,要求按实际收入从小到大排列。700e67e6bd3c4a1faffbec1550fc97c4.png

以上内容仅供参考

;