Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198367
  • 博文数量: 102
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1015
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-05 16:45
文章存档

2014年(73)

2013年(29)

我的朋友

分类: SQLServer

2014-06-30 09:22:02

数据库的简单操作1

点击(此处)折叠或打开

  1. create database EmpMana

  2. drop table dept
  3. create table dept
  4. (deptid int primary key ,
  5.  deptname nvarchar(50),
  6.  deptloc nvarchar(50)
  7.  )

  8. create table emp
  9. ( empid int primary key,
  10.   empname nvarchar(50),
  11.   empjob nvarchar(50),
  12.   empmgr int,
  13.   emphiredate datetime,
  14.   empsal numeric(10,2),
  15.   empcomn numeric(10,2),
  16.   deptid int foreign key references dept(deptid)
  17. )

  18. delete from dept
  19. insert into dept values(1,'销售部门','广州')
  20. insert into dept values(2,'软件开发部门','上海')
  21. insert into dept values(3,'软件研发部门','北京')

  22. select * from dept
  23. delete from emp
  24. insert into emp values(1,'张三','总裁',null,'2001-01-01',10000.01,1000.02,1)
  25. insert into emp values(2,'lisi','销售总监',1,'2002-02-02',9000.01,9000.02,1)

  26. insert into emp values(3,'li3','软件部技术总监',2,'2002-02-02',8000.01,8000.02,2)
  27. insert into emp values(35,'li31','软件部',3,'2002-02-02',8000.01,8000.02,2)
  28. insert into emp values(36,'li31','软件部',35,'2002-02-02',8000.01,8000.02,2)
  29. insert into emp values(37,'li31','软件部',36,'2002-02-02',8000.01,8000.02,2)
  30. insert into emp values(38,'li31','软件部',37,'2002-02-02',8000.01,8000.02,2)

  31. insert into emp values(4,'li4','软件研发部技术总监',2,'2002-02-02',8000.01,8000.02,3)
  32. insert into emp values(41,'li41','软件',4,'2002-02-02',8000.01,8000.02,3)
  33. insert into emp values(42,'li42','研发部',41,'2002-02-02',8000.01,8000.02,3)
  34. insert into emp values(43,'li43','研发部',42,'2002-02-02',8000.01,8000.02,3)
  35. insert into emp values(44,'li44','研发部',43,'2002-02-02',8000.01,8000.02,3)
  36. insert into emp values(45,'li45','研发部',44,'2002-02-02',8000.01,8000.02,3)

  37. select distinct deptid,empname from emp

  38. --显示每个雇员的年工资
  39. select distinct empname as '员工姓名',empsal*13 as '年工资' from emp

  40. select distinct empname as '员工姓名',empsal*13 + empcomn*13 as '年工资' from emp


  41. select * from emp where emphiredate>'2010-04-04'

  42. select * from emp where empsal>2000 and empsal<2500

  43. select * from emp where empsal>9000 and empsal<1000000

  44. select * from emp
  45. select empname,empsal from emp where empname like 'LI3%'

  46. select empname,empsal from emp where empname like '__4%'

  47. select * from emp where empid in(3,35,36,37)

  48. select * from emp where empmgr is null

  49. select * from emp order by empsal asc

  50. select * from emp order by empsal desc

  51. select min(empsal) from emp

  52. --如何显示最低工资和该雇员的名字
  53. select min(empsal) from emp

  54. select empname,empsal from emp where empsal=(select max(empsal) from emp)

  55. --显示所有员工的平均工资和工资总和
  56. select avg(empsal) as '平均工资' ,sum(empsal) as '总工资' from emp

  57. --把高于平均工资的雇员的名字和他的工资

  58. --统计共有多少个员工
  59. select count(*) from emp


  60. --如何显示每个部门的平均工资和最高工资

  61. select avg(empsal),deptid from emp group by deptid

  62. select avg(empsal),deptid ,max(empsal) from emp group by deptid

  63. --显示每个部门的每种岗位的平均工资和最低工资
  64. select avg(empsal),min(empsal),deptid,empjob from emp group by deptid,empjob

  65. select avg(empsal),min(empsal),deptid,empjob from emp group by deptid,empjob order by deptid

  66. --显示平均工资低于2000的部门号和他的平均工资
  67. --having 往往和group by 结合使用,可以对分组查询结果进行筛选

  68. select avg(empsal),deptid from emp group by deptid having avg(empsal) <80000
  69. select avg(empsal) vv,deptid from emp group by deptid having avg(empsal)<20000
  70. --having 往往和group by 结合使用,可以对分组查询结果进行筛选 并从高到低排列
  71. select avg(empsal) vv,deptid from emp group by deptid having avg(empsal)<20000
  72. order by avg(empsal) asc

阅读(1173) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~