实验一:实验案例一(附加“练习用的可以附加的数据库--class”)

1、在products表中查询出厂日期晚于2014年4月的水果信息。

select * from products  where 出厂日期>'2014-04-30 '

2、在products表中分组查询所有水果,蔬菜,坚果的总成本。

select 种类,SUM(成本) 总成本 from products  group by 种类

3、在products表中查询所有水果的信息,并按照成本从高到低的顺序显示结果。

select * from products order by 成本 desc

4、在products表中查询成本在1—5元的蔬菜信息。

select * from products  where 成本 between 1 and 5 and  种类='蔬菜'

5、在products表中所有水果的名称,种类和出厂日期信息插入新表products_new中。

select 名称,种类,出厂日期  into aaa from products  where 种类='水果'

实验二:多表查询(附加“练习用的可以附加的数据库--benet”)

要求:

1、在表A和表B 中使用内连接查询学生姓名,学校和职业

select a.namenamea,a.school schoola,b.name nameb,b.job jobb  from A,b wherea.name=b.name

2、在表A和表B 中使用左外连接查询学生姓名,学校和职业。

select a.namenamea,a.school schoola,b.name nameb,b.job jobb  from A left join bon a.name=b.name

3、在表A和表B 中使用右外连接查询学生姓名,学校和职业。
select a.name namea,a.school schoola,b.name nameb,b.jobjobb  from A right join bon a.name=b.name

4、在表A和表B 中使用完整连接查询学生姓名,学校和职业。

select a.namenamea,a.school schoola,b.name nameb,b.job jobb  from A full join bon a.name=b.name

实验三:实验案例二(附加“练习用的可以附加的数据库--class”)

1、在products表和sales表中查询产品的名称,种类,成本,销售地点和销售价格。

select products.名称名称a,

products.种类种类a,

products.成本成本a,

sales.名称名称b,

sales.销售价格价格b,

sales.销售地点地点b

from products,sales where products.名称=sales.名称

2、在products表和sales表中查询销往海南的产品名称,种类,成本和销售价格。

select products.名称名称a,

products.种类种类a,

products.成本成本a,

sales.名称名称b,

sales.销售价格价格b

from products,sales where products.名称=sales.名称

and

销售地点='海南'

3、在products表和sales表中查询销往北京的蔬菜名称,种类,成本和销售价格。

select products.名称名称a,

products.种类种类a,

products.成本成本a,

sales.名称名称b,

sales.销售价格价格b

from products,sales where products.名称=sales.名称

and

销售地点='北京'

and 种类='蔬菜'

实验四:事务案例:完成转账的过程,如果转账1000会回滚,提示失败,如果转账800,提示成功。

要求:

(1)创建表名为bank,如图所示:

(2)Currentmoney列的Check约束:

(3)插入两条数据:

INSERT INTO bank(customerName,currentMoney)VALUES('张三',1000)

INSERT INTO bank(customerName,currentMoney)VALUES('李四',1)

(4)转账的过程。(先执行转账1000,查看结果;之后转账800,查看结果)

print '查看转账事务前的余额'

select * from bank

go

begin transaction

declare @errorsum int

set @errorsum=0

update bank setcurrentmoney=currentmoney-800

where customername='张三'

set@errorsum=@errorsum+@@ERROR

update bank setcurrentmoney=currentmoney+800

where customername='李四'

set@errorsum=@errorsum+@@ERROR

print '查看转账事务前的余额'

SELECT * from bank

if @errorsum<>0

begin

print '交易失败,回滚事务'

rollback transaction

end

else

begin

print'交易成功,提交事务,写入硬盘,永久地保存'

commit transaction

end

go

print'查看转账事务后的余额'

SELECT * FROM bank

go

T-SQL应用实例的更多相关文章

  1. SQL/T-SQL实例参考

    ,D.[Score] B_Score ,'Distince'= CASE WHEN C.Score > D.Score THEN C.[Score] - D.[Score] WHEN C.Sco ...

  2. mysql sql优化实例

    mysql sql优化实例 优化前: pt-query-degist分析结果: # Query 3: 0.00 QPS, 0.00x concurrency, ID 0xDC6E62FA021C85B ...

  3. 此数据库文件与当前sql server实例不兼容

    在vs2015导入mdf数据库文件时提示:此数据库文件与当前sql server实例不兼容. mdf文件的版本是SQL SERVER 2005的,而VS2015自带的数据库是LocalDB,直接导入该 ...

  4. SQL触发器实例讲解

    SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Inser ...

  5. 处于同一个域中的两台Sql server 实例无法连接

    处于同一个域中的两台Sql server 实例无法连接,报的错误信息如下: A network-related or instance-specific error occurred while es ...

  6. SQL触发器实例

    SQL触发器实例讲解(本文是来自百度文库) 备注:本人建了一个站特价汇,我想记录每个商品的点击量,然后按照点击量来牌名商品,想要提高效率,所以必须得用触发器,下面是本人在百度文库中的找到的学习资料,分 ...

  7. SQL SERVER实例解析

    什么是SQL SERVER实例 ------------ SQL SERVER实例的概念和“类与对象”的概念很相似.可以把SQL SERVER的安装程序看做是一个类,安装过程则是创建对象的过程,创建出 ...

  8. sql注入实例分析

    什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具 ...

  9. 删除SQL server 实例

    在网上找到下面几种方法,本人使用的是第一种,很实用. 1.删除 SQL Server 的特定实例若要删除 SQL Server 的某个特定实例,请按照以下步骤操作: 找到并删除%drive%:\\Pr ...

  10. Sql Server专题:SQL 经典实例

    SQL 经典实例 1.实例表: Student(S#,Sname,Sage,Ssex) 学生表 S#:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别 Course(C#,Cname ...

随机推荐

  1. docker部署jenkinsci blueocean

    1.使用docker-compose # cat docker-compose.ymlversion: '2'services: jenkinsci: image: jenkinsci/blueoce ...

  2. 并发编程之 CountDown 源码分析

    前言 Doug Lea 大神在 JUC 包中为我们准备了大量的多线程工具,其中包括 CountDownLatch ,名为倒计时门栓,好像不太好理解.不过,今天的文章之后,我们就彻底理解了. 如何使用? ...

  3. eclipse .properties插件

    资源文件 即 .properties 文件是常用于国际化: eclipse默认的 .properties 文件编辑器有几个问题: 编码问题 多种语言同步问题 下面介绍2种eclipse的 .prope ...

  4. 【linux】suse linux 常用命令

    命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc ...

  5. JAVA动态代理基础

    Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM) 彻底理解JAVA动态代理 class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中. ...

  6. Application作用域实现:当用户重复登录时,挤掉原来的用户

    Application作用域实现:当用户重复登录时,挤掉原来的用户 一.实现思想 1.application(ServletContext)是保存在服务器端的作用域,我们在application中保存 ...

  7. 阿里云数据库配置学习笔记(二):下载并配置MySQL数据库

    参考资料:阿里云官方文档 2018-02-20 一.MySQL数据库的下载 在Ubuntu环境下安装MySQL数据库十分简单 在命令行中输入 sudo apt-get update(更新软件源,预防出 ...

  8. POJ3264(KB7-G RMQ)

    Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K   otal Submissions: 52651 Case Time Limit: 2 ...

  9. Flask 中路由系统

    1. @app.route() 装饰器中的参数 methods : 当前 url 地址,允许访问的请求方式 @app.route("/info", methods=["G ...

  10. 解决ios10以上版本缩放问题

    <script type="text/javascript"> /*解决ios10以上版本缩放问题 20171102*/ window.onload=function ...