分享

SQL SERVER数据库新认识的一些基础知识

 昵称10504424 2015-08-28
最近要接触sql server的存储过程啦,在处理更加复杂的逻辑过程前,就来看一下这些sql的基础语法,感觉看啦一些复杂一点的sql语句,突然发现我是有多么的薄弱啊,所以在一些基础的语法上面我再重新整理一些吧,下面就来认识几点吧。

                一. sql server中如何理解:isnull(a,0) 和 isnull(a,0)<>0 的区别以及select into的用法

            select top 2 name into #A from student where isnull(id,0)=0  and id like'a%'

                    <1>.首先说一下在这里的select语句中使用的into吧,这里我们经常遇到的情况是select 表字段 from 表名字,但是这里在from前面添加了一个into,其实这里就是把查询出来的表字段以及内容添加到一个新的表中;

                    <2>.再来说一下前面的 isnull(参数1,参数2) 判断参数1 是否为NULL,如果是 返回参数2 否则返回参数1;而在这里碰到的情况就是:isnull(列名,0) : isnull()函数是用来判断列名是否为null 如果为NUll 则返回0 否则 返回列名的值;而<>:是不等号 与!= 一样 比如: select 3 where 1<>2 查出来的结果是3 select 3 where 1<>1则查不出结果;isnull(列名,0)<>0: 先判断 列名是否为null ,然后再与0比较 等于零返回结果为True 否则为False.

                二. sql server中 case when用法

复制代码
            update NAME set a.ID=case b.BID 
                               when 10 then 1 
                                       else 2 
                                       end  
                               from  STUDENT a  
                               join #C c 
                               on a.id = c.CID
复制代码

                   这里看到这个就知道啦吧,其实就是判断一下的,分情况。之前的我并没有接触很多的这个,看到时间并没有搞明白要干嘛,但是我知道case是一个方法,嘿嘿。这就是sql server的奇妙啊。

                三. insert语句和select语句的混合使用

            insert into Register select ID,'abc',USERNAME,PWD,cast(MDPWD as varchar(50)) from STUDENT;

                     在这里就是在已经存在的Register 表中插入后面select出来的信息,但是从insert语句中我们知道,似乎插入信息时间需要添加到values()中,但是在这里我们可以省略,只要 我们添加的是Register表中的所有字段即可,这里的“abc”可以是一个存储过程的返回的字段的信息,也可以是一个调用的一个方法查询出来的信息;

                     另外就是想说一下cast的用法,这里使用cast其实就是将一种数据类型的表达式转换为另一种数据类型的表达式。

                     暂时先写到这里吧,嘿嘿,要午休啦,接下来会努力的整理sql的语法以及存储过程的一些知识吧,之前的自己在这个方法是在是太薄弱啦,加油加油,嘿嘿。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多