SQL server总结(底部汇总,一次插入多条数据、等)

select * from stuInfo2;

1、--底部汇总:查询班级各科平均分,显示在最后一行

select name,english,chinese,java from stuInfo2 union all

select '各科平均分:',AVG(english),AVG(chinese),AVG(java) from stuInfo2;


select '英语一览表:',AVG(english),MAX(english),MIN(english) from stuInfo2 union all

select '语文一览表:',AVG(chinese),MAX(chinese),MIN(chinese) from stuInfo2 union all

select 'java一览表:',AVG(java),MAX(java),MIN(java) from stuInfo2;

2、---查询英语成绩概况(最低分,最高分,平均分),按一行显示

select '英语概况:', MAX(english) as 英语最大值,MIN(english) as 英语最小值,AVG(english) as 英语平均分 from stuInfo2;

3、--查询英语成绩概况(最低分,最高分,平均分),按三行显示

select '英语最大值:',MAX(english) from stuInfo2 union all

select '英语最小值:',MIN(english) from stuInfo2 union all

select '英语平均分:',avg(english) from stuInfo2;

 

------------------------------一次性插入多条数据---------------------------

1、--现在有个需求,咱班和101班合并到一张表了

--第一步:需要咱班和101班的结构一致

--第二步:向咱班的表插入多条数据,这个多条数据的来源就是101班全部数据

select * from stuInfo2;

以下两个对比(都是插入):

insert into stuInfo2 values(2016008,'张三','男',16,100,50,30);

insert into stuInfo2 select * from stuInfo2_101;

 

2、--创建了一个空的新表,这个新表stuInfo2_101的结构和stuInfo2的结构一样

select top(0) * into stuInfo2_101 from stuInfo2;

 

---------------SQLserver基本语法掌握--------------

--1、查询stu表的所有信息

select * from stuInfo2;

--2、按照java降序排序

select * from stuInfo2 order by java desc;

--3、如果java成绩一样,按英语成绩排序

select * from stuInfo2 order by java desc , english asc ,chinese desc ;

--4、查询男生和女生的人数

步骤:

(1)按性别分组。

(2)统计组里面的人数。

select gender, COUNT(*) from stuInfo2 group by gender;

--5、查询java成绩平均分

Select 'java平均分:', AVG(java) from stuInfo2;

--6、查询办理男生成绩平均分

select AVG(java) from stuInfo2 where gender='男';

--7、查询男女各自的java平均分

(法一)select gender,AVG(java) from stuInfo2 group by gender;

(法二)--用UNION

select '男:' as 性别,AVG(java) as 平均分 from stuInfo2 where gender='男' union all

select '女:',AVG(java) from stuInfo2 where gender='女';

--8、查询所有的java不及格的同学个数

select COUNT(*) from stuInfo2 where java<60;

--9、查询所有java不及格的男同学的个数

select COUNT(*) from stuInfo2 where java<60 and gender='男';

--10、查询咱班所有姓高的java成绩

select name,java from stuInfo2 where name like '张%';

--11、查询所有姓高同学的java平均分

select '姓高的同学的java平均分', AVG(java) from stuInfo2 where name like '高%';

--12、查询总成绩前三名的同学

select * from stuInfo2;

update stuInfo2 set english=1,chinese=2,java=10 where name  like '范俊超';

 select top(3) name,english,chinese,java,english+chinese+java as 总分 from stuInfo2 order by 总分 desc;

--13、删除stu这个表

drop table stuInfo2;

猜你喜欢

转载自blog.csdn.net/qq_39115649/article/details/80592078