欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

文科生的SQL初体验之联合查询与快速备份

程序员文章站 2024-03-15 18:37:48
...

将多个查询的结果集合并成一个结果集
联合要求:
结果集列数要一样
对应列的类型(数据类型)一样
union(消除重复行)、union all(不会消除重复行)、except(第一个结果集和第二个结果集的交集)、intersect(S1intersect s2则求得是S1集合中去掉与S2重合得部分得集合)
用处:在查询结果处显示汇总

--联合查询
select cid from classinfo
select sid from studentinfo

文科生的SQL初体验之联合查询与快速备份

--联合查询
select cid from classinfo
union
select sid from studentinfo

文科生的SQL初体验之联合查询与快速备份

select cid from classinfo
intersect--交集
select sid from studentinfo
`

文科生的SQL初体验之联合查询与快速备份
将studentinfo和classinfo调换顺序

select sid from studentinfo
except--差集
select cid from classinfo

文科生的SQL初体验之联合查询与快速备份

快速备份

向未有表备份: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())
相关标签: SQL 数据库