SQL Server操作实例
创建数据库
create database accountInfo/*创建账户信息数据库*/
创建数据表
/*定义主码、外码、和人数、余额的取值范围。*/
/*创建储蓄所表*/
create table bank(
bank_ID int primary key identity(10001,1),/*从10001开始,每次增加1*/
bank_name nvarchar(20), /*储蓄所名称,*/
bank_address nvarchar(40),
bank_peopleNum int check(bank_peopleNum between 1 and 30),
bank_city nvarchar(10)
) /*创建账户表*/
/*帐户(编号,姓名,余额,建立日期,储蓄所编号)*/
create table account(
account_id int primary key identity(1,1),
account_name nvarchar(15),
account_balance int check(account_balance>= 0 ),
account_found_date char(8),
bank_ID int foreign key references bank(bank_id)
) /*创建借贷表*/
/*借贷(帐户,借贷类型,金额,日期)*/
create table borrow(
borrow_id int primary key identity(1,1),
account_ID int foreign key references account(account_ID),
type_borrow nvarchar(10),
money_sum int check(money_sum>=0),
date_borrow char(8)
)
插入数据
--插入bank数据
insert into bank values('长春南湖路','朝阳区',10,'长春市')
insert into bank values('西安大路','朝阳区',13,'长春市')
insert into bank values('幸福二路','南关区',11,'长春市')
insert into bank values('幸福三路','南关区',12,'长春市')
insert into bank values('桃林街','城关区',18,'灵宝市') --插入account数据
insert into account values('赵大',10000,20170510,10001)
insert into account values('钱二',5000,20160120,10001)
insert into account values('张三',50000,20161120,10001)
insert into account values('李四',50000,20161120,10005)
insert into account values('孙五',500000,20161110,10005) --插入borrow数据
insert into borrow values(1,'短期',1000,20170516)
insert into borrow values(2,'长期',3000,20170416)
insert into borrow values(3,'长期',200000,20170510)
连接查询
--内连接
select account_name,account_balance,bank_name
from account , bank
where account.bank_ID=bank.bank_id and bank_name='长春南湖路' --左外连接
select bank.bank_ID,count(account_id)'账户个数',sum(account_balance)'余额总数'
from bank left outer join account on(bank.bank_ID=account.bank_ID)
group by bank.bank_ID
嵌套查询
select account_name,account_balance
from account
where bank_ID in(select bank_ID from bank where bank_name='长春南湖路')
select account_name
from account
where account_balance>(select MAX(account_balance)
from account where account_name='长春南湖路')
select*
from account as A,Bank as B
where A.bank_ID=B.bank_ID and B.bank_city in
(select bank_city
from bank
group by bank_city
having count(bank_ID)=(select min(Nm)
from(select bank_city,count(bank_ID)
from bank
group by bank_city
)as _bank(Cy,Nm)
)
);
select account_id from account
where account_id not in
(select id from( select account_ID from borrow
group by account_ID ) as v(id)--,Nm))
组合查询
select account_id
from account except (select account_ID from borrow )
创建及使用视图
create view view1 as
select account.bank_ID,
sum(account_balance)'balanceSum'
from bank,account
where bank.bank_ID=account.bank_ID
group by account.bank_ID select v1.bank_ID vid
from(select max(v.balanceSum)as balanceSum from view1 v)
su,view1 v1
where v1.balanceSum=su.balanceSum
存储过程
--根据上面基本表的信息定义一个存储过程,完成下面功能:
--入口参数:储蓄所编号
--1 显示储蓄所信息
--2 如果没有帐户,删除该储蓄所记录
--3 如果帐户余额总额低于100万元,开一个新帐户
alter PROCEDURE pr_bank(@bank_id int)
as
BEGIN
select *from bank
where bank_ID = @bank_id
if (select count(*) from account where bank_id=@bank_id)=0
delete from bank where bank_ID=@bank_id
if (select sum(account_balance) from account where bank_id=@bank_id group by bank_id)<1000000
insert into account(bank_id) values(@bank_id)
END exec pr_bank 10005
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com
SQL Server操作实例的更多相关文章
- SQL Server的实例恢复解析
同Oracle一样,SQL Server在非一致性关闭的时候也会进行实例恢复(Instance Recovery),本文根据stack overflow的文章介绍一些SQL Server实例恢复的知识 ...
- SQL Server 多实例下的复制
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建步骤(Procedure) 注意事项(Attention) 二.背景(Contexts) ...
- sql server操作2:查询数据库语句大全【转】
注:以下操作均建立在上篇文章sql Server操作1的数据基础之上 一.实验目的 熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询 二.实验内容和要求 使用SQL查询分析器查询数据,练 ...
- 当SQL Server的实例位于集群的特定节点时,数据库无法远程访问
搭建好了一个集群环境,发现当SQL Server的实例位于集群的其中一个节点时,数据库无法远程访问,报如下错误.但在另一个 节点时,数据库访问正常. 标题: 连接到服务器 -------------- ...
- Step7:SQL Server 多实例下的复制
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建步骤(Procedure) 注意事项(Attention) 二.背景(Contexts) ...
- sql server 操作xml例子
sql server 操作xml例子 /* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1.xml: 能认识元素.属性和值 2.xp ...
- SQL Server数据库实例名与服务器名不一致的解决办法
SQL Server数据库实例名与服务器名不一致的解决办法 --EXEC sp_addlinkedserver -- @server = 'PSHGQ' --GO --select * from ...
- SQL Server 命名实例更改端口进行发布订阅
原文:SQL Server 命名实例更改端口进行发布订阅 两台数据库服务器,都没有加入域,都安装多实例,端口也不一样了.现在使用命名实例进行复制,折腾了好久,才发现解决方法. 服务器A:myserve ...
- 【故障公告】阿里云 RDS SQL Server 数据库实例 CPU 100% 引发全站故障
非常抱歉,今天 8:48 开始,我们使用的阿里云 RDS SQL Server 数据库实例突然出现 CPU 100% 问题,引发全站故障,由此给您带来麻烦,请您谅解. 发现故障后立即进行主备切换,和 ...
随机推荐
- 1003 Emergency(25 分)
As an emergency rescue team leader of a city, you are given a special map of your country. The map s ...
- HAOI2018游记
前言 很懒. 太懒了. 不仅懒得写题..连游记都懒得写.. 花点时间填一下坑吧..不过话说我去年的NOI/APIO/CTSC游记也没写.. 省选前 板子好像一早就打完了,没什么可干的. 也不愿意开新题 ...
- css基础--常用css属性01
1 背景相关 背景颜色 background-color = 颜色名称/rgb值/十六进制值 背景图片 background-image = url('') 背景图片平铺方式 backgro ...
- NO.2day 操作系统基础
操作系统基础 1.为什么要有操作系统 操作系统为用户程序提供一个更好.更简单.更清晰的计算机模型,并管理刚才提到的所有设备(磁盘.内存.显示器.打印机等).程序员无法把所有的硬件操作细节都了解到,管理 ...
- Java基础-Date类常用方法介绍
Java基础-Date类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.毫秒值概念 我们在查阅Date类的API文档时,会发现这样的一句话:"The cl ...
- MongoDB 之 aggregate $group 巧妙运用
有这样一组数据: { "campaign_id": "A", "campaign_name": "A", "s ...
- HDU 3802 矩阵快速幂 化简递推式子 加一点点二次剩余知识
求$G(a,b,n,p) = (a^{\frac {p-1}{2}}+1)(b^{\frac{p-1}{2}}+1)[(\sqrt{a} + \sqrt{b})^{2F_n} + (\sqrt{a} ...
- JavaScript语法对{}的奇葩处理
JavaScript的语法有多坑,算是众人皆知了. 今天看到vczh的这条微博:http://weibo.com/1916825084/B7qUFpOKb , 代码如下: {} + []; [] + ...
- 【leetcode 简单】 第六十一题 存在重复元素
给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 示例 1: 输入: [1,2,3,1] 输出: true ...
- 【译】第七篇 Integration Services:中级工作流管理
本篇文章是Integration Services系列的第七篇,详细内容请参考原文. 简介在上一篇文章,我们创建了一个新的SSIS包,学习了SSIS中的脚本任务和优先约束,并检查包的MaxConcur ...