sql server基本知识

1.增加表的字段
alter table 表名 ADD 要增加的字段名 数据类型; 


2.查询最前面的几行数据
select TOP(行数) * from 表名


3.更新表字段值
UPDATE 表名 SET 字段名 = 值 WHERE 字段名 = 值;
eg:update  IQCTAD SET TAD055 = '1' WHERE TAD002 ='20000800202'


4.左连接,内连接
SELECT DAA001, DAA004, DAA005,DAA014, DAA023, DAA048, TAD033,
DAA010=CASE WHEN DAA010='E' THEN '受检' ELSE '免检' END  
                                FROM BARDAA a left join
                                (
                               SELECT TAD033,TAH004 FROM IQCTAD a
                               inner join IQCTAH b
                               ON TAD001=TAH001 and TAD002=TAH002
                                )as b
                                on a.DAA001=b.TAH004
                                where (DAA010 = 'A') 
                                OR ( DAA045 = 'Y' AND DAA048 = 'OK');


5.向表中批量插入多条数据
Insert  into  表A  select * from 表B where 条件
如果表A和B字段不相同,就要写上具体的字段


6.视图:就是将几个表连接起来,获取关键的几个字段,即多个表连接以后形成的虚拟表(相当于表),可以对视图进行表的操作。
创建:Create View + 视图名 AS + 查询语句(需要显示的主要字段);
eg : Create View titleView 
     AS 
     select name ,age , sex from Title as t join Bill as b on (t.id = b.id);


7.连接:左连接(left-join),右连接(right-join),内连接(inner-join),全连接(full-join)
左连接:以左表为基准显示左表的所有数据,右表只显示符合条件的数据,不符合的数据显示NULL。
eg:select * from MyTable1 as a
   left join
   MyTable2 as b on (a.id = b.id);
右连接:以右表为基准显示右表的所有数据,左表只显示符合条件的数据,不符合的数据显示NULL。
eg:select * from MyTable1 as a
   right join
   MyTable2 as b on (a.id = b.id);
内连接:显示左表和右表同时符合条件的数据。
eg:select * from MyTable1 as a
   inner join
   MyTable2 as b on (a.id = b.id);
全连接:显示左右两个表中所有的记录。
eg:select * from MyTable1 as a 
    full join
    MyTable2 as b on (a.id = b.id)


8.SQL条件控制(case when...then...else...end):当满足某个条件,则获取when后面的值,否则返回else后面的值;when后添加条件,then后为获得的数据。
eg: select ID = case
                     when ID = 'A' then 'first' 
                     when ID = 'B' then 'second'
                else 'end'
                end
   from MyTable1;


9.获取列中不同的值:Distinct,将某一列中相同的值过滤掉,只留取一个值。
注意:Distinct只能修饰某个字段,不能同时修饰多个字段。
eg:select distinct name from MyTable1;


10.排序:order by + 需要排序的字段名 [DESC],[ASC]  按某个字段值进行升序(默认)或降序排列。
eg:select * from MyTable2 order by name DESC;


11.联合:union,将两个表中字段相同的数据结合在一起,如果想显示该字段中两个表中所有的值,需要用union all,否则该字段中相同的值会只显示一个(相当于destinct)。
注:要联合的两个字段的值类型必须相同,否则不能结合在一起。
eg:select name from MyTable1
   union (all)
   select ID from MyTable2;


12.select into:为某一个表做备份,或将某些字段值赋值在另一个表中。
eg: select * into new_table 
    from old_table;


13.identity:自动增加
注意:identity(20,10):开始值是20,步长为10
eg:CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY(0,0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)


14.删除数据表记录:drop或truncate

eg:drop/truncate table MyTable;


15.ceiling(num,signigficance)函数:向上取整,num:要取整的数值,significance:基数。

CEILING(number,significance)
参数:
Number 待舍入的数值。
Significance 基数。
说明:
如果参数为非数值型,CEILING 返回 错误值 #VALUE!。
如果 number 和 significance 符号相同,则对值按远离 0 的方向进行舍入。
  
如果 number和significance CEILING符号相反,则返回错误值#NUM!。
公式
实际值
问题描述
=CEILING(-2.5,2)
#NUM!
Number和Significance符号相反 ,CEILING 返回 错误值#NUM!。
=CEILING(-2.5,-2)
-4  
=CEILING(2.5,-2)
#NUM!
Number和Significance符号相反 ,CEILING 返回 错误值#NUM!。
=CEILING(2.5,2)
4  
=CEILING(2.5,1)
3  
=CEILING(2.5,-1)
#NUM!
Number和Significance符号相反 ,CEILING 返回 错误值#NUM!。
=CEILING(-2.5,1)
#NUM!
Number和Significance符号相反 ,CEILING 返回 错误值#NUM!。
=CEILING(-2.5,-1)
-3






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值