日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql查询语句习题._MySql数据库基本select查询语句练习题,初学者易懂。

發(fā)布時(shí)間:2025/3/19 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql查询语句习题._MySql数据库基本select查询语句练习题,初学者易懂。 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在數(shù)據(jù)庫建立四個(gè)表:分別為

student(sid,sname,sage,ssex)

teacher(tid,tname)

course(cid,cname,tid)

sc(sid,cid,score)

-- 1、查詢“001”課程比"002"課程成績高的所有學(xué)生的學(xué)號(hào)。

select a.sid FROM

(select * from sc where cid="001") as a,

(select * from sc where cid = "002")as b

where a.sid = b.sid and a.score>b.score

-- 2、查詢平均成績大于60分的同學(xué)的學(xué)號(hào)和平均成績

select sid,avg(score)

FROM sc

GROUP BY sid

HAVING avg(score)>=70;

-- 3、查詢所有的同學(xué)的學(xué)號(hào)、姓名、選課數(shù)、總成績

select student.sid, sname,COUNT(*),sum(score)

from sc,student

where sc.sid = student.sid

GROUP BY sid;

-- 4、查詢姓“李”的老師的個(gè)數(shù)

select COUNT(*)

from teacher

where tname LIKE '大%';

-- 5、查詢沒學(xué)過“葉平“老師的課程的同學(xué)的學(xué)號(hào)、姓名

SELECT sid,sname

from student

where sid NOT in(select sid

from sc,course,teacher

where sc.cid = course.cid and teacher.tid = course.tid and teacher.tname = "葉良辰");

--? 6、查詢所有? ? 課程有掛科的同學(xué)的學(xué)號(hào)、姓名

SELECT sid ,sname

from student

where

sid in (select sid from sc) AND

sid not in(select sid from sc where score<60 GROUP BY sid);

--? 7、查詢至少一門課與學(xué)號(hào)為“2”的同學(xué)所學(xué)相同的學(xué)生的學(xué)號(hào)和姓名

SELECT DISTINCT(sc.sid)

from sc,student

where student.sid = sc.sid and cid in(select cid from sc where sc.sid='2') and student.sid<>'2';

-- 8、統(tǒng)計(jì)列印各科成績,各分?jǐn)?shù)段人數(shù):課程ID、課程名稱,100-85,85-70,70-60,<60

select sc.cid as '課程ID',cname as '課程名稱',

SUM(case WHEN score between 85 and 100 then 1 else 0 end) as '85-100',

SUM(case WHEN score between 70 and 84 then 1 else 0 end) as '70-84',

SUM(case WHEN score between 69 and 60 then 1 else 0 end) as '60-69',

SUM(case WHEN score between 0 and 100 then 59 else 0 end) as '0-59'

from course,sc

where sc.cid=course.cid

GROUP BY sc.cid;

--? 9、查詢每門課程的課程名和選修的學(xué)生數(shù)

select cname,count(*)

from sc,course

where course.cid=sc.cid

group by sc.cid;

-- 10、查詢出只選修了一門課程的全部同學(xué)的學(xué)號(hào)、姓名

select sc.sid,sname

from sc,student

where student.sid=sc.sid

GROUP BY (sc.sid)

HAVING COUNT(*)=1;

-- 11、查詢男生、女生的人數(shù)

(select "男生" AS "性別",count(*) from student where ssex="男")

UNION

(select "女生" as "性別", count(*) from student where ssex="女");

--? 12、查詢姓“李”的師生名單

(select sname as '名單' from student where sname like '李%')

union

(select tname as '名單' from teacher where tname like "李%");

在數(shù)據(jù)庫建立三個(gè)表:

學(xué)生表:student(sno,sname,sage,ssex,sdept)==(學(xué)號(hào),姓名,年齡,性別,系別)

課程表:course(cno,cname,credit)==(課程號(hào),課程名,學(xué)分)

選課表:sc(sno,cno,grade)===(學(xué)號(hào),課程號(hào),成績)

-- 寫出選修了數(shù)據(jù)結(jié)構(gòu)的同學(xué)的學(xué)號(hào)和姓名

select *

from student

where sno in(select sno

from sc,course

where sc.cno=course.cno and cname='數(shù)據(jù)結(jié)構(gòu)'

);

-- 1.統(tǒng)計(jì)每門課的選課人數(shù),包括沒有人選的課程,列出課程號(hào)及選課情況,其中選課情況為,如果此門課的選課人數(shù)超過100

-- 人,則顯示人多,40-100一般 1-40人好,無人選

select? course.cno ,

case

when (count(*)>=40 and count(*)<=100) then? '較多'

when (count(*)>1 and count(*)<40) then '較少'

else '無人選' end as '選課情況'

from course left join sc

on course.cno=sc.cno

GROUP BY cno;

--? 2.查詢計(jì)算機(jī)有哪些學(xué)生沒有選課,列出姓名和學(xué)號(hào)(用外連接)

select sname

from student left join? sc on

sc.sno=student.sno

where sdept="計(jì)科" and sc.sno is null;

2>--?成績小于60的學(xué)生姓名,課程,成績

select sname,cname,grade

from student,sc,course

where student.sno=sc.sno and sc.cno=course.cno

and grade<60;

-- 3. 統(tǒng)計(jì)每個(gè)學(xué)生的選課人數(shù)和考試總成績,并按照選課門數(shù)升序排列

select sno,count(*)'選課門數(shù)' ,sum(grade)'總成績'

from sc

GROUP BY sno

ORDER BY count(*) DESC;

總結(jié)

以上是生活随笔為你收集整理的mysql查询语句习题._MySql数据库基本select查询语句练习题,初学者易懂。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。