当前位置: 网学 > 编程文档 > SQL SERVER > 正文

SQL server入门[第四章] 高级查询

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
第四章  高级查询


>简单子查询

用T-SQL语句实现
declare @age int
set @age = stuage from stumarks where stuname = ''李文才''
select * from stumarks where stuage>@age
go

select stuname from stuinfo inner join stumarks 
on stuinfo.stuno = stumarks.stuno 
where writtenexam = 60

用子查询语句实现
select * from stumarks
where stuage > (select stuage from stumarks where stuname = ''李文才'')-----子查询的返回值不能多余一个

select stuname from stuinfo
where stuno = (select stuno from stumarks where writtenexam = 60)


………………………………………………………………………………………………………………………………………………


> in 和 not in 子查询

select stuname from stuinfo
where stuno in (select stuno from stumarks where writtenexam = 60)
go

select stuname from stuinfo
where stuno in (select stuno from stumarks)
go

select stuname from stuinfo
where stuno not in (select stuno from stumarks)
go


………………………………………………………………………………………………………………………………………………


>exists 和 not exists

if exists (select * from sysdatabases where name = ''studb'')
drop database studb
create database studb
(
 ………略………
)

if exists (select * from stumarks where writtenexam>80)
   begin
     print ''本班有人笔试成绩超过80分,每人只加2分,加分后的成绩为:''
     updata stumarks set writtenexam = writtenexam + 2
     select * from stumarks
   end
else
   begin
     print ''本班无人笔试成绩超过80分,每人加5分,加分后的成绩为:''
     updata stumarks set writtenexam = writtenexam + 5
     select * from stumarks
   end
go

if not exists (select * from stumarks where writtenexam>60 and labexam>60)
   begin
     print ''本班无人通过考试,试题偏难,每人加3分,加分后的成绩为:''
     updata stumarks set writtenexam = writtenexam + 3,labexam = labexam + 3
     select * from stumarks
   end
else
   begin
     print 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号