SQL Sever 单表数据查询(下)

简介: SQL Sever 单表数据查询(下)

前言

1.分组:统计各门课程的选修人数

select cno 课程号,COUNT(cno) 选课人数 from sc group by cno

2.分别统计男女生的平均年龄

select ssex 性别,AVG(sage) 平均年龄 from student group by ssex

3.查询所有科目成绩在85分以上的学生的学号及其平均分

select sno,AVG(grade) 平均分 from sc group by sno having MIN(grade)>=85

4.查询平均年龄大于18岁的系部和平均年龄

select sdept 院系,AVG(sage) 平均年龄 from student group by sdept having AVG(sage)>18

5.DRDER BY子句:查询选修课程2101的所有学生信息,并按成绩降序排列

select * from sc WHERE cno='2101' ORDER BY grade DESC

6. INTO 子句:查询sc表中课程号为2101的记录,并将结果保存进表scl

select * INTO scl from sc WHERE cno='2101'

7.查询学生的详细信息,并返回学生的总人数和平均年龄

select * from student 
order by sage
COMPUTE COUNT(sno),AVG(sage)

8.查询学生的详细信息,同时返回每个年龄段的学生的总人数和平均年龄

select * from student
order by sage
COMPUTE COUNT(sno) ,AVG(sage)BY sage

9.知识点总结

(1)分组查询——group by

select

聚合函数,

列(要求出现在group by的后面)

from

where

筛选条件

group by

分组的列表

order by

子句

注意:除了出现在group by后面的字段,如果要在select后查询其他字段,必须用聚合函数进行聚合.

特点:

分组查询中的筛选条件分为两类

分组筛选: 数据源是原始表,用where,放在group by前面,因为在分组前筛选

分组筛选:数据源是分组后的结果集 ,用having,放在group by后面,因为在分组后进行筛选。

✨用group by 的select字句中,只能选择集合函数和出现在group by字句中的分组列。

✨但对组用 having 进行筛选时,having字句使用的集合函数表达式包含的列可以不包含在select字句的选择列中。

select bookID,sum(quentity) as 销售册数
from book 
group by bookid

(2).排序——order by

select

from

where

order by

字段名

当我们查询出结果后,根据结果集中的某个字段进行排序,order by 字段名 排序方式(升序/降序)

order by默认采用升序(asc,如果存在 where 子句,那么 order by 必须放到 where 询句后面。

(3)INTO子句 功能是将查询结果保存到新的基表中

根据选择列表中的列和 WHERE 子句选择的行,指定要创建的新表名。 new_table 的格式通过对选择列表中的表达式进行取值来确定。 new_table 中的列按选择列表指定的顺序创建。 new_table 中的每列与选择列表中的相应表达式具有相同的名称、数据类型和值

(4)COMPUTE子句

compute 比 group by 更高级,group by 可以查看某一类的函数计算;而compute不光能实现这个效果,还可以显示出每一类的每一条数据。

select *
from book
compute sum(quentity)


总结

今天的内容分享就到这里啦,如果对友友们有帮助的话记得点赞收藏博客,关注后续的SQL Sever学习内容哦~👻👻👻

相关文章
|
3月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
96 0
|
5月前
|
关系型数据库 BI 分布式数据库
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
无需创建和开通资源,在预置环境中免费体验PolarDB MySQL及其NL2BI解决方案
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
|
5月前
|
SQL 数据库
SQL Server 单表数据查询
SQL Server 单表数据查询
109 1
|
20天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
91 6
|
5月前
|
SQL 数据库
SQL Server 数据查询
SQL Server 数据查询
103 0
|
5月前
|
SQL 关系型数据库 MySQL
Mysql数据库 4.SQL语言 DQL数据查询语言 查询
Mysql数据库 4.SQL语言 DQL数据查询语言 查询
52 0
|
6月前
|
SQL 存储 Oracle
SQL数据查询——连接查询
SQL数据查询——连接查询
53 0
|
6月前
|
SQL
SQL数据查询——单表查询和排序
SQL数据查询——单表查询和排序
63 0
|
20天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
61 10
|
1月前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
30 0