SQL经典查询语句查询4

2025-04-19 06:15:09

--1.查询报名人数士候眨塄大于等于30并且小于等于40的课程信息,要求显示课程名称和报名人数(使用BETWEEN…AND)

sele艘早祓胂ct [CouName],[WillNum]

from [dbo].[Course]

where [WillNum] between 30 and 40

--2.统计不同学分各有多少门课程。显示credit,count(*)字段。(group by)

select [Credit],count(*) '课程门数'

from [dbo].[Course]

group by [Credit]

--3.统计不同学分各有多少门课程,并显示课程详细信息。(compute ...by)

select *

from Course

order by Credit

compute count(couno) by credit

--4.查询周二上课的课程名称和教师名,并显示课程门数。(compute)

select CouName,Teacher

from dbo.Course

where SchoolTime like '周二%'

compute count(couname)

--5.查询平均报名人数大于30人的课程类别和每类平均报名人数。(group having)

select kind,AVG(willnum)

from Course

group by Kind

having AVG(willnum)>30

--6.在课程表中,按所开设课程的系部编号分别统计总共报名人数。(group having)

select [DepartNo],COUNT([WillNum])

from [dbo].[Course]

group by [DepartNo]

having COUNT([WillNum])>0

--7思考题:显示课程个数比工程技术类

--课程个数多的课程的信息。

--提示:分三步做

--1求工程技术类课程的个数=n

--select count(*)

--from course

--where kind='工程技术'

--2求课程个数大于n的课程的kind信息m。

--select kind

--from course

--group by kind

--having count(kind)>n

--3求课程全部信息,且课程类型为m的。

--(子查询)

--select * from course

--where kind=m

select *

from course

where kind in (select kind

from course

group by kind

having count(kind)>(select count(*)

from course

where kind='工程技术' )

)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢