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)
)
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 | |