文科生的SQL初体验之联合查询与快速备份
程序员文章站
2024-03-15 18:37:48
...
将多个查询的结果集合并成一个结果集
联合要求:
结果集列数要一样
对应列的类型(数据类型)一样
union(消除重复行)、union all(不会消除重复行)、except(第一个结果集和第二个结果集的交集)、intersect(S1intersect s2则求得是S1集合中去掉与S2重合得部分得集合)
用处:在查询结果处显示汇总
--联合查询
select cid from classinfo
select sid from studentinfo
--联合查询
select cid from classinfo
union
select sid from studentinfo
select cid from classinfo
intersect--交集
select sid from studentinfo
`
将studentinfo和classinfo调换顺序
select sid from studentinfo
except--差集
select cid from classinfo
快速备份
向未有表备份:select 列名into 备份表名from 源表名
说明:备份表可以不存在,会新建表,表的结构完成统一,但是不包含约束
如果想只包含结构不包含数据,可以加个top 0
--快速备份:向一个不存在的表中快速插入数据
select*into test1 from classinfo
--向一个存在的表中插入数据
insert into test2
select*from classinfo
--执行一次发现报错test2中的标识列未指定显式值
--插部分列
insert into test2(ctitle)
select ctitle from classinfo
select*from test2
数据转换
select cast(89.000000 as decimal(4,1))
select convert(decimal(4,1),89.000000,)
--将数字转换为11
select cast(1 as char(1))+'1'
1.字符串函数:
ascii(求字符的ascii值),char(根据ascii转到字符)
left,right,substring:字符串截取
len:返回字符串的长度
lower,upper:转小写、大写
itrim,rtirm:去空格
2.日期函数
getdate(获取当前日期时间)
dateadd(日期加)
datepart(取日期的某部分)year,month,day(这一个月的第几天)
注意:dateadd、datediff、datepart的第一个参数使用双引号
--查询当前日期
select getdate()
--查询其是今年的第几天
select datepart('dayofyear',getdate())
上一篇: [Sublime] 使用手册
下一篇: jmeter使用手册