T-SQL
sql的组成
DML
- 数据表的增删改语言
DDL
- 数据表的定义语言
DQL
- 数据表的查询语言
DCL
- 数据表权限控制语言
DML
增 insert
-
插入一条数据
-
格式
-
insert into 表名(列1,列n) values(值1,值n)
insert into 表名(列1,列n) values(值1,值n)
-
-
例子
- insert into partment(pname) values(‘安保部’);
-
-
插入多条数据
-
格式
-
insert into 表名(列1,列n)select 数据1,数据n unionselect 数据1,数据n unionselect 数据1,数据n;
insert into 表名(列1,列n) select 数据1,数据n union select 数据1,数据n union select 数据1,数据n;
-
-
-
复制数据到旧表
-
格式
-
insert into 要插入的表名称(列1,列n) select 源列1,源列n from 数据源表名称;
insert into 要插入的表名称(列1,列n) select 源列1,源列n from 数据源表名称;
-
-
例子
- insert into tb4(pname) select pname from partment;
-
-
复制到新表
-
格式
-
select 原表名.列1,原表名.列n into 新表名 from 原表名;
select 原表名.列1,原表名.列n into 新表名 from 原表名;
-
-
例子
- select tb4.pname into ccc from tb4;
-
删 delete
-
delete删除
-
格式
-
delete from 表名 where 条件
delete from 表名 where 条件
-
-
例子
- delete from tb4 where id=1;
-
-
truncate删除
-
格式
- truncate table 表名
-
改 update
-
格式
- update 表名 set 列名1=值1,列名n=值n where 条件
-
例子
- update student set age=18 where id=6
DQL
查询基础
-
查询表中所有的列信息
-
格式
-
select * from 表名
select * from 表名
-
-
例子
- select * from partment;
-
-
查询表中指定列的信息
-
格式
-
select 列名1,列名n from 表名
select 列名1,列名n from 表名
-
-
例子
- select pid from partment;
-
格式
-
select 表名.列名1,表名.列名n from 表名
select 表名.列名1,表名.列名n from 表名
-
-
例子
- select tb4.pname from tb4;
-
-
查询符合条件的信息
-
格式
-
select * from 表名 where 条件
select * from 表名 where 条件
-
-
例子
- select * from student where id=1
-
-
查询一定量的数据
-
按百分比查询
-
格式
-
select top 条目数 * from 表名
select top 条目数 * from 表名
-
-
例子
-
select top 2 * from partment;
select top 2 * from partment;
-
图示
-
-
-
按条目数查询
-
格式
- select top 百分比 percent * from 表名
-
-
查询条件
-
查询为空的
-
格式
-
where 列名 is null
where 列名 is null
-
-
-
查询非空的
-
格式
-
where 列名 is not null
where 列名 is not null
-
-
模糊查询
-
通配符
-
代表一个
-
_
-
例子
select * from Table_2 where name like '__';
-
-
赖子
-
%
-
例子
select * from Table_2 where name like '%白%';
-
-
字符集
-
【内容a,内容b】
-
例子
select * from 表名 where 列名 like '[孙,李]%';
-
-
字符集取反
- 【^内容c,内容d】
-
-
范围查找
-
between…and
-
格式
- 列名 between 最小值 and 最大值
-
例子
select * from goods where name like ‘%小米%’ and name like ‘%手机%’ and price between 1399 and 2000;
-
-
… and …
-
格式
- 列名>=最小值 and 列名<=最大值
-
例子
select * from goods where name like ‘%小米%’ and name like ‘%手机%’ and price >=1000 and price <= 2000;
-
-
聚合函数
-
求总和
-
sum
-
格式
-
sum(列名)
sum(列名)
-
-
例子
-
-
-
求总数
-
count
-
格式
-
count(列名)
count(列名)
-
-
-
-
求平均值函数
-
avg
-
格式
-
avg(列名)
avg(列名)
-
-
例子
-
select avg(列名) from 表名
-
-
-
-
求总数
-
count
-
格式
-
count(列名)
count(列名)
-
-
例子
-
注意
- 如果列名中存在null值的数据,统计时不参与进来
-
优化
-
count(*)
count(*)
-
count(常量)
count(常量)
-
-
-
-
求最大值
-
max
-
格式
-
max(列名)
max(列名)
-
-
-
-
求最小值
-
min
-
格式
-
min(列名)
min(列名)
-
-
-
-
演练
-
求班级合格率
-
求总人数 包含缺考人员
-- 求出总人数 select count(1) from testone;
-
求合格人数
-- 求合格的人数 select count(1) from testone where score>=60;
-
-
分组
-
group by
-
格式
-
select 分组依据列,其它 from 表名 group by 分组的依据列
select 分组依据列,其它 from 表名 group by 分组的依据列
-
-
进阶
-
select 分组依据列,其它 from 表名 group by 分组的依据列 having 小组条件
select 分组依据列,其它 from 表名 group by 分组的依据列 having 小组条件
-
-
多列分组
-
group by 分组依据列1,分组依据列n
group by 分组依据列1,分组依据列n
-
-
演练
-
文章
(1条消息) 分组查询与聚合函数_pyhui的技术博客-CSDN博客
https://blog.csdn.net/ifubing/article/details/109597282
-
-
XMind - Trial Version