下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 2009|回复: 39
打印 上一主题 下一主题

...................................................

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2006-6-27 02:15:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

[em11]

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
        WHERE TABLE_NAME='employees')
    DROP TABLE employees
go
create table employees
( employee_id int,
  name varchar(50),
  sex varchar(50),
  department varchar(50),
  salary money )
go
insert into employees values(1,'陈有朋','男','项目部',6000)
insert into employees values(2,'孙晓晴','女','项目部',8000)
insert into employees values(3,'张晓峰','男','录入部',1000)
insert into employees values(4,'慕容雪','男','检验部',1500)
insert into employees values(5,'陈秋萍','女','办公室',1000)
go
--1.定义一个变量,并将其赋值为员工数据表中全体员工的工资最大值,并打印输出。
declare @max_salary int
select @max_salary=max(salary)
from employees
print @max_salary
go
select * from employees
--2.在员工数据表中,如果有员工在办公室工作,那么输出这些员工的姓名;否则输出信息,说明没有员工在办公室工作。
--假设办公室工作人员只有一人
declare @message varchar(30),@name varchar(20)
if exists( select * from employees where department='办公室')
  begin
    select @name=name from employees where department='办公室'
    print '下列人员在办公室工作:'+@name
  end
else
  begin
    set @message='没有人在办公室工作。'
    print @message
  end
go
--利用游标,有多名员工工作在办公室
declare @e_name varchar(50)
if((select count (*) from employees where department='办公室')>0)
 begin
  print '下列人员在办公室工作:'
  declare e_cursor cursor
                for select name from employees where department='办公室'order by name
  open e_cursor
  FETCH NEXT from e_cursor into @e_name
  print @e_name
  while @@FETCH_STATUS=0
  BEGIN
   FETCH NEXT from e_cursor into @e_name
   if @@FETCH_STATUS=0
   begin
    print @e_name
    print @@FETCH_STATUS
   end
  end
  close e_cursor
  deallocate e_cursor  
 end
go
--3.在员工数据表中,判断是否有员工的工资少于2000,如果有,则将所有员工的工资增加200,直到所有员工的工资都多于2000或有员工的工资超过了10000。(while语句的练习)
while exists(select * from employees where salary<2000)
begin
  update employees
  set salary=salary+200
  if(select max(salary) from employees)>10000
   begin
    print '有人工资超过了10000'
    break
   end
end

--4.声明一个变量,为money类型,并为其赋值80,然后到pubs数据库的titles表中检索价格值大于此变量值的记录有多少条。
use pubs
declare @condition money
set @condition=80.00
select count(*)
from titles
where price>@condition
go
--5.将northwind数据库中employees表中的名字(firstname ,lastname)和ID号联系起来显示。例如:5-Steven Buchanan
use northwind
select convert(varchar(8),employeeid)+'-'+firstname+' '+lastname as [name]
from employees
go
--6.声明一个变量,如果这个变量大于100显示‘@var>100’,如果小于20则显示‘@var<20’,如果它在20与50之间显示‘20<=@var<=50’,如果它在50与100之间显示‘50<=@var<=100’
declare @var int
set @var=61
if @var>50
  if @var>100
    print '@var>100'
  else
    print '50<=@var<=100'
else
  if @var<20
    print '@var<20'
  else
    print '50<=@var<=100'
go
--7.创建一个员工表,如下代码所示.更新员工的工资,工作级别为1的上调8%,工作级别为2的上调7%,工作级别为3的上调6%,工作级别为4的上调5%.
use pubs
go
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
        WHERE TABLE_NAME = 'emp')
    DROP TABLE emp
go
create table emp
( e_name char(10),
  e_wage money,
  job_level int)
go
insert emp values('l1',2000,3)
insert emp values('l2',4000,1)
insert emp values('l3',3000,2)
insert emp values('l4',1500,4)
go
update emp
set e_wage=
case
when job_level=1 then e_wage*1.08
when job_level=2 then e_wage*1.07
when job_level=3 then e_wage*1.06
when job_level=4 then e_wage*1.05
end
select * from emp

[em11][em11][em11][em11]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

40
发表于 2006-6-27 15:48:00 | 只看该作者

看不懂

 

回复 支持 反对

使用道具 举报

该用户从未签到

39
发表于 2006-6-27 14:16:00 | 只看该作者
顶个
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2019-4-26 13:26
  • 签到天数: 2 天

    [LV.1]初来乍到

    38
    发表于 2006-6-27 13:16:00 | 只看该作者
    我说鸟语啊 你看不懂的 哈哈
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2014-11-6 17:27
  • 签到天数: 1 天

    [LV.1]初来乍到

    37
    发表于 2006-6-27 13:15:00 | 只看该作者
    蟋蟀说的什么啊?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-4-26 13:26
  • 签到天数: 2 天

    [LV.1]初来乍到

    36
    发表于 2006-6-27 13:14:00 | 只看该作者
    SQL2000 噶简单的。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2014-11-6 17:27
  • 签到天数: 1 天

    [LV.1]初来乍到

    35
    发表于 2006-6-27 13:11:00 | 只看该作者
    是什么啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34
     楼主| 发表于 2006-6-27 12:28:00 | 只看该作者
    人之初,性本善
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    33
    发表于 2006-6-27 12:20:00 | 只看该作者
    想当年我是多么好的学生啊~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32
     楼主| 发表于 2006-6-27 12:19:00 | 只看该作者

    -_-||

    偶努力不再挂

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31
    发表于 2006-6-27 12:18:00 | 只看该作者
    偶一不小心就只有一步之遥了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30
     楼主| 发表于 2006-6-27 12:17:00 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29
    发表于 2006-6-27 12:17:00 | 只看该作者

    25个

    难度有点大么

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28
    发表于 2006-6-27 12:16:00 | 只看该作者
    QUOTE:
    以下是引用寻找鱼的水在2006-6-27 12:15:00的发言:

    挂到25个学分就没学位证书了。。。。。。。。。

    快要达到了==+
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27
    发表于 2006-6-27 12:15:00 | 只看该作者

    挂到25个学分就没学位证书了。。。。。。。。。

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26
    发表于 2006-6-27 12:13:00 | 只看该作者
    QUOTE:
    以下是引用未ゃ央在2006-6-27 12:11:00的发言:
    八月未央好伐

    现在是六月好发
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-10-18 12:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    25
    发表于 2006-6-27 12:12:00 | 只看该作者
    随便了``
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24
     楼主| 发表于 2006-6-27 12:11:00 | 只看该作者
    八月未央好伐
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23
    发表于 2006-6-27 12:10:00 | 只看该作者
    QUOTE:
    以下是引用未ゃ央在2006-6-27 12:10:00的发言:

    换个心情.

    bu ku bu ku 

    六月未央
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22
     楼主| 发表于 2006-6-27 12:10:00 | 只看该作者

    换个心情.

    bu ku bu ku 

    回复 支持 反对

    使用道具 举报

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表