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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

postgresql测试题_PostgreSQL练习

發布時間:2024/9/18 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 postgresql测试题_PostgreSQL练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學生表 Student

create table Student(Sid varchar(6), Sname varchar(10), Sage datetime, Ssex varchar(10));

insert into Student values('01' , '趙雷' , '1990-01-01' , '男');

insert into Student values('02' , '錢電' , '1990-12-21' , '男');

insert into Student values('03' , '孫風' , '1990-05-20' , '男');

insert into Student values('04' , '李云' , '1990-08-06' , '男');

insert into Student values('05' , '周梅' , '1991-12-01' , '女');

insert into Student values('06' , '吳蘭' , '1992-03-01' , '女');

insert into Student values('07' , '鄭竹' , '1989-07-01' , '女');

insert into Student values('08' , '王菊' , '1990-01-20' , '女')

成績表 SC

create table SC(Sid varchar(10), Cid varchar(10), score decimal(18,1));

insert into SC values('01' , '01' , 80);

insert into SC values('01' , '02' , 90);

insert into SC values('01' , '03' , 99);

insert into SC values('02' , '01' , 70);

insert into SC values('02' , '02' , 60);

insert into SC values('02' , '03' , 80);

insert into SC values('03' , '01' , 80);

insert into SC values('03' , '02' , 80);

insert into SC values('03' , '03' , 80);

insert into SC values('04' , '01' , 50);

insert into SC values('04' , '02' , 30);

insert into SC values('04' , '03' , 20);

insert into SC values('05' , '01' , 76);

insert into SC values('05' , '02' , 87);

insert into SC values('06' , '01' , 31);

insert into SC values('06' , '03' , 34);

insert into SC values('07' , '02' , 89);

insert into SC values('07' , '03' , 98)

課程表 Course

create table Course(Cid varchar(10),Cname varchar(10),Tid varchar(10));

insert into Course values('01' , '語文' , '02');

insert into Course values('02' , '數學' , '01');

insert into Course values('03' , '英語' , '03')

教師表 Teacher

create table Teacher(Tid varchar(10),Tname varchar(10));

insert into Teacher values('01' , '張三');

insert into Teacher values('02' , '李四');

insert into Teacher values('03' , '王五')

練習題:

1.查詢" 01 "課程比" 02 "課程成績高的學生的信息及課程分數

select s.*,score

from sdb."Student" s,sdb.sc

where s.Sid=sc.Sid

and s.Sid in(select a.Sid

from sdb.sc a,sdb.sc b

where a.Sid=b.Sid

and a.score>b.score

and a.Cid='01'

and b.Cid='02');

2.查詢平均成績大于等于 60 分的同學的學生編號和學生姓名和平均成績

select s.Sid,Sname,avg(score)

from sdb.sc,sdb."Student" as s

where s.Sid=sc.Sid

group by s.Sid,Sname

having avg(score)>=60;

3.查詢在 SC 表存在成績的學生信息

select *

from sdb.sc,sdb."Student" as s

where s.Sid=sc.Sid

and sc.score is not null;

4.查詢所有同學的學生編號、學生姓名、選課總數、所有課程的總成績(沒成績的顯示為 null )

select s.Sid,Sname,count(Cid),sum(score)

from sdb."Student" s left join sdb.sc

on s.Sid=sc.Sid

group by s.Sid,Sname;

5.查詢「李」姓老師的數量

select count(Tname)

from sdb.teacher as t

where t.Tname like '李%';

6.查詢學過「張三」老師授課的同學的信息

select *

from sdb."Student" as s,sdb.course as c,sdb.teacher as t,sdb.sc

where s.Sid=sc.Sid

and sc.Cid=c.Cid

and c.Tid=t.Tid

and Tname='張三';

7.查詢沒有學全所有課程的同學的信息

select *

from sdb."Student" as s

where s.Sid in (select sc.Sid from sdb.sc group by sc.Sid having count(Cid)<3 )

select s.Sid

from sdb."Student" as s

left join sdb.sc

on s.Sid=sc.Sid

group by s.Sid

having count(sc.Cid)

8.查詢和" 01 "號的同學學習的課程完全相同的其他同學的信息

select s.Sid,Sname,Sage,Ssex

from sdb."Student" s,sdb.sc

where s.Sid=sc.Sid

and s.Sid !='01'

group by s.Sid,Sname,Sage,Ssex

having count(Cid)=(select count(Cid) from sdb.sc where Sid='01');

9.查詢至少有一門課與學號為" 01 "的同學所學相同的同學的信息

select *

from sdb."Student" s

where Sid in (select Sid

from sdb.sc

where Cid in(select Cid

from sdb.sc

where Sid='01'));

10.查詢沒學過"張三"老師講授的任一門課程的學生姓名

select Sname

from sdb."Student" s

where Sid not in(

select s.Sid

from sdb."Student" as s,sdb.course as c,sdb.teacher as t,sdb.sc

where s.Sid=sc.Sid

and sc.Cid=c.Cid

and c.Tid=t.Tid

and Tname like '張三');

11.查詢兩門及其以上不及格課程的同學的學號,姓名及其平均成績

select s.Sid,Sname,avg(score)

from sdb."Student" s,sdb.sc

where s.Sid=sc.Sid

and s.Sid not in (select distinct Sid

from sdb.sc

where score>=60)

group by s.Sid,Sname;

12.檢索" 01 "課程分數小于 60,按分數降序排列的學生信息

select s.*

from sdb."Student" s,sdb.sc

where s.Sid=sc.Sid

and Cid='01'

and score<60

order by score desc;

13.按平均成績從高到低顯示所有學生的所有課程的成績以及平均成績

select score,avg(score)

from sdb.sc

group by score

order by avg(score) desc;

select Sid,

sum(case when Cid='01' then score else null end) score_01,

sum(case when Cid='02' then score else null end) score_02,

sum(case when Cid='03' then score else null end) score_03,

avg(score)

from sdb.sc

group by Sid

order by avg(score) desc;

14.查詢各科成績最高分、最低分和平均分,以如下形式顯示:課程 ID,課程 name,最高分,最低分,平均分,及格率,中等率,優良率,優秀率(及格為>=60,中等為:70-80,優良為:80-90,優秀為:>=90)。

select sc.Cid ,Cname 課程名稱,avg(score) 平均分,max(score) 最高成績,min(score) 最低成績,

(sum(case when score>=60 then 1 else 0 end)*100/count(score)) 及格率,

(sum(case when score>=70 and score<80 then 1 else 0 end)*100/count(score)) 中等率,

(sum(case when score>=80 and score<90 then 1 else 0 end)*100/count(score)) 良好率,

(sum(case when score>=90 then 1 else 0 end )*100/count(score)) 優秀率

from sdb.sc,sdb.course c

where sc.Cid=c.Cid

group by sc.Cid,Cname

15.統計各科成績各分數段人數:課程編號,課程名稱,[100-85],[85-70],[70-60],[60-0] 及所占百分比

select sc.Cid 課程編號,Cname 課程名稱,

(sum(case when score>=0 and score<=60 then 1 else 0 end)*1.00/count(score)) as 不及格0_60,

(sum(case when score>60 and score<=70 then 1 else 0 end)*1.00/count(score)) as 及格60_70,

(sum(case when score>70 and score<=85 then 1 else 0 end)*1.00/count(score)) as 良好70_85,

(sum(case when score>85 and score<=100 then 1 else 0 end)*1.00/count(score)) as 優秀85_100

from sdb.sc,sdb.course c

where sc.Cid=c.Cid

group by sc.Cid,Cname

16.查詢各科成績前三名的記錄

select Cid,Sid,score

from sdb.sc

where (select count(*)

from sdb.sc a

where a.Cid=sc.Cid

and sc.score>a.score)<3

order by Cid,score desc;

select * from (select *,rank() over(partition by Cid order by score desc) as graderank from sdb.sc) a

where a.graderank <=3;

17. 查詢出只選修兩門課程的學生學號和姓名

select s.Sid,Sname

from sdb."Student" s,sdb.sc

where s.Sid=sc.Sid

group by s.Sid,Sname

having count(Cid)=2;

18.查詢名字中含有「風」字的學生信息

select *

from sdb."Student" s

where Sname like '%風%';

19.成績不重復,查詢選修「張三」老師所授課程的學生中,成績最高的學生信息及其成績

select s.Sid,Sname,Ssex,Sage,score

from sdb."Student" as s,sdb.sc

where s.Sid=sc.Sid

group by s.Sid,Sname,Ssex,Sage,score

having max(score)=(select max(score)

from sdb."Student" as s,sdb.course as c,sdb.teacher as t,sdb.sc

where s.Sid=sc.Sid

and sc.Cid=c.Cid

and c.Tid=t.Tid

and Tname like '張三');

總結

以上是生活随笔為你收集整理的postgresql测试题_PostgreSQL练习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色综合色综合色综合 | 国产精品偷乱一区二区三区 | 欧美日韩一区二区三区在线播放 | 国产一区观看 | 日日嗨av一区二区三区四区 | 亚洲永久精品一区 | 深夜av在线 | 交做爰xxxⅹ性爽 | 天天综合网在线 | 成人禁污污啪啪入口 | 爱久久视频 | 欧美人与物videos另类 | 亚洲精品国产精品乱码不卡√香蕉 | 午夜激情福利在线 | 国产男人的天堂 | 黄污视频在线播放 | 一级视频免费观看 | 美女啪啪国产 | 日日夜夜超碰 | 人人干视频 | 水蜜桃av无码 | 鲁一鲁啪一啪 | 久久人人爽天天玩人人妻精品 | 男人的天堂免费 | 全球av在线| 国产精品乱码久久久久久 | 午夜成人鲁丝片午夜精品 | 久久亚州| 精品国产1区2区 | 国产在线播放一区二区三区 | 99热影院 | 色在线免费 | 午夜看片在线观看 | 91在线观看免费高清 | 欧美日韩国产91 | 成人免费影片 | 日韩视频免费在线 | 日韩六九视频 | 中文字幕福利 | 免费黄色a| 久久久久久国产视频 | 麻豆av免费在线观看 | 夜夜撸小说 | 成人精品一区二区三区在线 | 婷婷六月综合 | 欧美顶级metart裸体全部自慰 | 国产精品乱码一区二区视频 | 国产999久久久 | 亚洲av永久无码精品国产精品 | 无码国产精品一区二区高潮 | 嫩草影院菊竹影院 | 久久盗摄| 91黄色小视频| 色狗网站 | 国产精品久久久久国产a级 国产一区二区在线播放 | 性猛交xxxx乱大交孕妇2十 | 天天综合天天色 | 欧美一二三区在线观看 | 男人天堂网在线观看 | 亚洲品质自拍视频网站 | 色婷婷一区 | 欧美在线不卡视频 | 激情戏网站 | 91看片黄 | 1515hh成人免费看 | 国产一二区在线观看 | 日韩精品第1页 | 国产人妻一区二区三区四区五区六 | 97精品国产97久久久久久粉红 | 91久久精品国产 | 色综合中文网 | www.黄色片| 婷婷色av | 四级毛片 | 午夜免费一区二区 | 天天躁日日躁aaaa视频 | 久久国产成人 | 国产伦精品一区二区三区网站 | 噼里啪啦国语电影 | 人人人草 | 国产麻豆视频 | 欧美日韩电影一区二区三区 | 精品一区不卡 | 久久综合久久综合久久综合 | 欧美夜夜| 国产精品无码久久久久 | 乱人伦xxxx国语对白 | 黄色精品一区 | 午夜成人鲁丝片午夜精品 | 国产专区一区二区三区 | 18禁免费无码无遮挡不卡网站 | 老头老太吃奶xb视频 | 久久精品一区二区国产 | 怡红院国产 | 国产卡一卡二卡三无线乱码新区 | 二三区视频 | 91欧美大片 | 少妇又色又爽又黄的视频 | 亚洲欧洲综合网 |