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;