zoukankan      html  css  js  c++  java
  • 表连接、Tsql基本编程和存储过程

    表连接:
    将多个表的数据一次性查询出来,共同显示

    子查询方式:
    select 列名1,列名1,(select 列名2 from 表名2 where 表名2.共同列名=表名1.共同列名) from 表名1 -- .就是的意思

    笛卡尔积:有点像穷举
    select 列名1,列名2 from 表名1,表名2 --把第一个表的数据挨个拿出来跟第二个表所有数据进行对比一下,得出来是两个表数量的相乘
    where 表名2.共同列名=表名1.共同列名

    join on:
    select 列名1,列名2 from 表名1 join 表名2 on 表名2.共同列名=表名1.共同列名 --join 后加上一个表,on后面是什么条件上加上

    join前可以有三个修饰符
    inner join:内连接,就是默认,所有能对起来的可能都连接上
    left join:以左边表为主,把左边表数据显示完整,再拼接上右边数据
    right join:以右边表为主,把右边表数据显示完整,再拼接上左边数据,

    注意:必须添加where条件或on后面跟条件,两个表的关系列

    纵连接:先把上面的显示完然后接上下面的
    union
    select 列名1 from 表名1
    union
    select 列名2 from 表名2

    注意:纵连接的表,列数必须一样,对应列的数据类型要一样

    TSQL基本编程:
    定义变量:
    declare @a int;--declare声明变量的意思,变量名字前一定加@
    declare @b int;

    赋值:
    set @a=10; --赋值
    select @b =9; --赋值

    打印在消息框中:
    print @b --映射在消息框

    映射在结果集中:
    select @a ;--映射,显示在结果集

    分支语句写法:
    declare @aa int;
    select @aa=10;
    declare @bb int;
    select @bb=9;
    declare @cc int;

    if @aa>@bb --没有小括号,空格就行
    begin --没有花括号,是用begin,end 代替
    select @cc=@aa+@bb;--成立走这
    end

    else
    begin
    select @cc=@aa-@bb;
    end

    select @cc;
    注意:执行要从头开始选中

    循环语句写法:
    declare @aaa int;
    select @aaa=1; --初始条件

    while @aaa<=10; --循环条件
    begin
    select @aaa; --循环体
    select @aaa+=1; --状态改变
    end

    存储过程:就是函数

    定义:ps:
    create proc jiafa --创建存储过程
    @a int, --参数,可以有多个,用逗号隔开,最后一个可以不用加逗号
    @b int
    as --花括号下面就是函数体,用as
    declare @c int; --函数体
    select @c=@a+@b
    return @c
    go --执行接下来代码,也可以不用写

    保存:
    保存在数据库里可编程性的存储过程的系统存储过程里

    修改:
    在系统存储过程的表名那右键修改
    alter 修改,添加,修改存储过程
    proc 存储过程
    dbo 不用管,表名前面基本都有
    改完函数体执行一遍就行

    使用:
    declare @ab int;
    exec @ab=jiafa 5,10; --exec 执行函数,
    select @ab;

  • 相关阅读:
    js 格式化时间
    js filter过滤数据
    vant 省市区三级联动 自定义json数据展示 取值
    移动端 table横向滚动
    js 判断字符串中是否包含某个字符串
    element ui form表单 刚进页面就验证
    js ES6 Promise.all 等两个接口都返回成功执行
    SDNU 1139.Emergency(起点更改最短路问题)
    SDNU 1062.Fibonacci(矩阵快速幂)
    SDNU 1103.买彩票(水题)
  • 原文地址:https://www.cnblogs.com/sunshuping/p/5578748.html
Copyright © 2011-2022 走看看