大家好,好几天都没写博客了。因为自己的一些原因,落下了很多。今天没有学什么新的知识,自己就把以前落下的好好看了一下。好了,今天就先总结一下SQL剩下的一些知识吧。

主要学的知识有:循环语句(case语句,if else语句,while语句),跳转语句(break, continue),存储过程,视图,索引,触发器的创建与简单运用。

循环语句:

case语句

输入学生的成绩 1-100之间,否则就会提示"您输入的成绩不对,成绩应该在0-100之间"

declare   @cj float,@str varchar(50)
set @cj=90
set @str=
case --case [表达式] when @cj>100 or @cj<0 then '成绩不对,应该在0——100之间' -- when 条件表达式1 then 结果1
when @cj>=60 and @cj<70 then '及格' -- when 条件表达式2 then 结果2
when @cj>=70 and @cj<80 then '中等' -- ........
when @cj>=80 and @cj<90 then '优良'
when @cj>=90 and @cj<=100 then '优秀' else -- else '成绩不及格' end print '该学生的成绩评语是'+@str --输出

 查找出不同仓库的平均工资

select  *,不同仓库的平均工资=
case
when 仓库号='wh1' then (select AVG(工资) from 职工 where 仓库号='wh1')
when 仓库号='wh2' then (select AVG(工资) from 职工 where 仓库号='wh2')
when 仓库号='wh3' then (select AVG(工资) from 职工 where 仓库号='wh3')
when 仓库号='wh4' then (select AVG(工资) from 职工 where 仓库号='wh4')
end
from 职工

结果:

while语句

计算0——100之间的和

--while 条件表达式
-- begin
--命令行或程序
-- end declare @num int, @sum int
select @num=0,@sum=0
while
@num<=100
begin set @sum=@sum+@num
set @num=@num+1 end
print '1-100之间的和是:'+cast(@sum as varchar(50))

if else语句

某地到青岛的邮政里程为1043,通过邮政局向青岛城区交 "特征专递"邮件, 24小时之内达到。计费每克0.12元
但超过100克,超过数量每克0.05元,算出邮费


declare @yf real,@weight int --声明变量 set @weight=120 if @weight<=100
begin
set @yf=@weight*0.12
end
else
begin
set @yf=100*0.12+(@weight-100)*0.05
end
--输出邮件的重量和邮费 print'邮件的重量是'+cast(@weight as varchar(50)) print '邮费是'+cast(@yf as varchar(50))

结果:

用户登录

declare @name varchar(50),@pwd varchar(50),@msg varchar(50)  --定义变量
select @name='admin',@pwd='123456'
if @name='admin' and @pwd='1256'
begin
set @msg='用户登录成功!'
end
else
begin
set @msg='用户登录失败,请重新登录!'
end print @msg

 跳转语句

break语句

--break 语句
declare @num int,@sum int
select @num=0,@sum=0
while @num<=10
begin
set @num=@num+1
set @sum=@sum+@num
if @sum>30 --当sum和大于30时,跳出整个循环语句
break
end
print '最后结果'+cast(@sum as varchar(50))

 结果:

continue语句

--continue语句
declare @x int,@sums int
select @x=0,@sums=0
while @x<=100
begin
set @x=@x+1
if @x%2=1
continue --跳出当前循环,进行下一个循环
set @sums=@sums+@x
end
print '偶数和'+cast(@sums as varchar(50))

视图view

存储过程

索引

在sql中,讲SQL语句组成一个事物,其目的是保证这一组sql语句能够得到可靠地执行,如果系统中出现了错误,阻碍sql的执行,并且只要其中任何一条语句出现错误,事物中所有的sql语句都不会被执行,说白了要么全部sql执行,要么全部不执行。

create unique index unique_index on 仓库(仓库号)    --创建索引

触发器

触发器是一种特殊的存贮过程,他就相当于c#中的事件触发器主要是通过事件触发而被执行的
create trigger 触发器名称 on 表 for insert[update,delete] as
begin
程序块
end

好了,今天就先写到这里吧,明天再继续。加油!

SQL知识三(Day 27)的更多相关文章

  1. 学习之路三十六:SQL知识总结 - [游标||字符串分割]

    好久没有写文章了,今天把前不久项目用到的SQL知识总结一下. 一丶字符串分割 SQL内置函数中是没有Split分割函数的,所以需要自己去实现,不多说,上代码: )) RETURNS @result T ...

  2. TFS二次开发、C#知识点、SQL知识总结目录

    TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一个实例 TFS二次开发系列:四.TFS二次开发Wor ...

  3. TFS二次开发、C#知识点、SQL知识

    TFS二次开发.C#知识点.SQL知识总结目录   TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一 ...

  4. Atitit  补充说明 sql知识图谱与线路图attilax总结补充说明

    Atitit  补充说明 sql知识图谱与线路图attilax总结补充说明 1. 常见编程语言的分类  :命令式语言.函数式语言.逻辑语言1 1.1. 按照编程语言的代际划分,又2gl,3gl,4gl ...

  5. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  6. 测试人员需要了解的sql知识(提高篇)

    上一篇写了一些基础的sql知识,这里再深挖一些常用的 ------------------------------------------------------------------骄傲的分割线- ...

  7. mysql sql知识总结

    SQL知识总结: 检索不同的行: SELECT DISTINCT VEND_ID FROM PRODUCTS; DISTINCT 应用于所有的列 =================== 限制结果: S ...

  8. Python基础知识(三)

    Python基础知识(三) 一丶整型 #二进制转成十进制的方法 # 128 64 32 16 8 4 2 1 1 1 1 1 1 1 例如数字5 : 101 #十进制转成二进制的方法 递归除取余数,从 ...

  9. SQL Server基础知识三十三问 (15-21)

    15. 存储过程可以调用自己么, 或者说可能有递归的存储过程么? SP nesting最多可以到多少层? 答: 可以的. 因为Transact-SQL 支持递归, 你可以编写可以调用自己的存储过程. ...

随机推荐

  1. aix 在线软件包安装 字符集 mysql安装

    http://www.oss4aix.org/download/rpmdb/deplists/ Aix6.1 安装mysql别的我就不扯了,自从Oracle收购sun后 Mysql在Aix Parch ...

  2. UVA 116 Unidirectional TSP 经典dp题

    题意:找最短路,知道三种行走方式,给出图,求出一条从左边到右边的最短路,且字典序最小. 用dp记忆化搜索的思想来考虑是思路很清晰的,但是困难在如何求出字典序最小的路. 因为左边到右边的字典序最小就必须 ...

  3. sharepoint 2013 reporting services 远程server返回错误: (500) 内部server错误。

    在sharepoint 2013部署reporting services过程中,点击管理中心,server上的服务.系统配置.提示了一个错误: 远程server返回错误: (500) 内部server ...

  4. swift 用协议实现代理传值功能

    1.功能简介 RootViewController中用个lable和一个按钮,点击按钮跳转到模态窗口.在模态窗口中有个TextField和一个按钮,输入文字点击关闭模态按钮后跳转到RootViewCo ...

  5. KeystoneJS+mongo搭建简易博客

    KeystoneJS 是一款基于 Express 和 MongoDB 的开源免费 Node.js CMS 网站开发框架. 一. 安装node.js,mongodb 二. 命令行安装KeystoneJS ...

  6. Java编程中提高性能的几点建议

    尽量减少对变量的重复计算 如 for(int i=0;i<list.size();i++) 应该改为 for(int i=0,len=list.size();i<len;i++) 并且在循 ...

  7. php composer包管理工具

    一 . 包管理工具 你在Centos上装工具的时候直接yum -y install xx 比你去rpm -ivh xx.rpm 是不是爽很多呢? composer 就是安装php 代码的一个类似工具. ...

  8. src 和 href 的区别

    因为理解不深,到写外部加载Javascript文件或者css文件的时候总是需要去找个例子,这样可不好.现在总结下 href 属性规定被链接文档的位置(URL). href是hyperrefresh的缩 ...

  9. Vim 缓冲区与窗口 操作

    ##############缓冲区 :e(:open) 打开新缓冲区 :ls (:buffers) 列出列表内所有缓冲区/bs /bv /be(BufExplore快捷键) :b 2(:buffer ...

  10. [转]iOS UIAppearance使用详解

    在iOS 5以前,自定义原生控件的外观并没有原生支持,因此开发人员感觉很麻烦.开发人员经常面临的问题是修改一个控件所有实例的外观.解决这个问题的正确方法是重写一遍控件.但由于这么做非常费时,一些开发人 ...