SQL經典查詢語句查詢4

--1.查詢報名人數大於等於30並且小於等於40的課程信息,要求顯示課程名稱和報名人數(使用BETWEEN…AND)

select [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='工程技術' )

)

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場