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

将多个查询的结果集合并成一个结果集
联合要求:
结果集列数要一样
对应列的类型(数据类型)一样
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())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值