问几道数据库的基本题目

问几道数据库的基本题目,第1张

1A 2C 3B 4C

5C 6C 7D 8B

1外码并不一定要与相应的主码同名,但为了方便我们一般会让外码和主码同名但不是一定

4逻辑数据独立性是修改 模式与外模式的映射

物理独立性才是修改 模式与内模式的映射

8投影怎么能表示笛卡尔积呢

上面同学的回答有点问题

11、已知数据库的排序规则是默认设置。在northwind 数据库中有一个表[order details],表示所有定单的详情,该表中有一列quantity,表

示定单中某产品的数量。你想实现按照产品数量从大到小排序来查询定单,使用order by 子句为(a)。

a、Select from [order details] Order by quantity desc

b、Select from order details Order by quantity asc

c、Select from [order details] Order by quantity

d、Select from [order details] Order by desc quantity

14在ASP页面中用到的创建ActiveX组件实例的方法是(a)

a、servercreateobject b、serverHTMLEncode

c、servermappath d、serverservervariables

15. 请问Mid(“I am a student”,8,4)的结果是(a)

a、stud b、tude c、uden d、dent

16.请问Len(“我是中国人”)的结果是(5)

a、6 b、8 c、10 d、5

17、下面程序段执行完毕,页面上的显示内容是什么(a)

<%

responsewrite "同学们"

Responseend

responsewrite "你们好!"

%>

a、同学们 b、你们好! c、同学们你们好! d、同学们(换行)你们好!

18、下面程序段执行完毕,页面上的显示内容是什么(c)

<%

responsewrite "同学们"

Responseclear

responsewrite "你们好!"

%>

a、同学们 b、你们好! c、同学们你们好! d、同学们(换行)你们好!

19、对于下面的ASP代码,<a href=”indexaspusername=张三&pwd=1234”要获取参数username的值,正确的语句是(b,c)

a、requestform(“username”)

b、request(“username”)

c、requestquerystring(“username”)

d、requestfeilds(“username”)

20、Inputbox函数返回的值是(c)类型

a、数值型 b、bool型 c、字符串型 d、浮点型

msgbox函数返回的值是(b)类型

a、数值型 b、bool型 c、字符串型 d、浮点型

二、 填空题

1、 网站链接中,在同一个网站内部的链接叫做___站内链接/内链__________,不同网站文档之间的链接叫做______外部链接/外链

_______,在同一网页指定位置的链接叫做__________锚点_______。

2、 ASP的五大内部对象包括 、 、 、

request,response,server,cookie,session

3、 把数值型转换为字符串型的VbScript函数是___cstr()_____;把字符串转换为整数VbScript函数是___cint/int/fix______。

4、 返回指定字符的ASCII码的函数是___asc_____;根据一个ASCII码值返回指定字符的函数是 __chr_______。

5、一段连接数据库的代码

<% set conn=servercreatobject("adodbconnection")

Connstr= "DSN=____数据源名____;UID=__用户名______;PWD=_____密码___;"

connopen Connstr

%>

6、HTML标记,可单独使用或嵌入在各个ASP脚本单元中,以" ___<% %>______"为定界符;VBScript(或JScript)语句,可单独使用或嵌入在各

个ASP脚本单元中,以___<script language="vbscript" runat="server"></script>______为定界符, ASP脚本命令,可单独使用或包含在此和〈/html〉内,以"___<%%>______"为定界符。

不知道对不对,已经很久没用过ASP的内容了

--插入学生表测试数据

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' , '女');

--课程表测试数据

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

insert into Course values('02' , '数学' , '01');

insert into Course values('03' , '英语' , '03');

--教师表测试数据

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

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

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

--成绩表测试数据

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

insert into Score values('07' , '03' , 98);

-- 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数

select c,as_score as 01课程score,bs_score as 02课程score from

score a,score b

left join student c

on bs_id = cs_id

where as_id = bs_id and ac_id = '01' and bc_id = '02' and as_score > bs_score;

-- 2、查询"01"课程比"02"课程成绩低的学生的信息及课程分数

select a ,bs_score as 01课程,cs_score as 02课程 from student a

join score b

on as_id=bs_id and bc_id = '01'

left join score c

on bs_id = cs_id and cc_id = '02'

where bs_score < cs_score ;

-- 3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

select as_id,as_name,round(avg(bs_score),2) as 平均成绩 from student a

join score b

on as_id = bs_id

group by bs_id having 平均成绩 >= 60;

备注:round[avg(成绩),1]里,round是四舍五入函数,1代表保留1位小数

-- 4、查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩

-- (包括有成绩的和无成绩的)

select b ,round(avg(as_score),2) as 平均成绩 from

student b

left join score a on bs_id = as_id group by as_id having 平均成绩 < 60

union

select b ,0 as 平衡成绩 from student b where bs_id not in (select s_id from score);

-- 5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

select as_id,as_name,count(bc_id) as 选课总数 ,sum(bs_score) as 总分 from student a

left join score b

on as_id = bs_id group by s_id ;

-- 6、查询"李"姓老师的数量

select count() as 李姓老师数量 from teacher where t_name like '李%';

-- 7、查询学过"张三"老师授课的同学的信息

select a from student a join score b

on as_id = bs_id

where bc_id in (select cc_id from course c

join teacher d on ct_id = dt_id where dt_name = '张三');

-- 8、查询没学过"张三"老师授课的同学的信息

select a from student a left join score b on as_id = bs_id where as_id not in

(select s_id from score where c_id =

(select c_id from course where t_id =

(select t_id from teacher where t_name = '张

三'))) group by as_id;

-- 9、查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

select from student where s_id in

(select as_id from score a join score b on as_id = bs_id

where ac_id = '01' and bc_id = '02');

-- 10、查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息

select from student where s_id in

(select s_id from score where c_id = '01' )

and s_id not in (select s_id from score where c_id = '02' );

-- 11、查询没有学全所有课程的同学的信息

select from student where s_id not in

(select s_id from score group by s_id having count(c_id) = 3);

-- 12、查询至少有一门课与学号为"01"的同学所学相同的同学的信息

select distinct a from student a left join score b

on as_id = bs_id where bc_id in

(select c_id from score where s_id = '01') and as_id != '01' ;

注意:distinct是去重的

-- 13、查询和"01"号的同学学习的课程完全相同的其他同学的信息

select from student where s_id in

(select s_id from score group by s_id having count(c_id) =

(select count(c_id) from score where s_id = '01') and s_id not in

(select s_id from score where c_id not in

(select c_id from score where s_id = '01')) and s_id != '01');

-- 14、查询没学过"张三"老师讲授的任一门课程的学生姓名

select s_name from student where s_id not in

(select s_id from score where c_id in

(select c_id from course where t_id in

(select t_id from teacher where t_name ='张三')));

-- 15、查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

select as_id ,bs_name,round(avg(as_score),2) as 平均成绩 from score a

left join student b on as_id = bs_id

where s_score < 60 group by s_id having count(1) >=2;

或者试试

select as_id ,bs_name,round(avg(as_score),2) as 平均成绩 from score a

left join student b on as_id = bs_id

where as_score < 60 group by as_id having count() >=2;

-- 16、检索"01"课程分数小于60,按分数降序排列的学生信息

select a ,bc_id ,bs_score from student a

left join score b on as_id = bs_id

where bc_id = '01' and bs_score < 60

order by bs_score desc;

-- 17、按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

select as_name ,

sum(case when bc_id = '01' then s_score else null end ) as 语文,

sum(case when bc_id = '02' then s_score else null end ) as 数学,

sum(case when bc_id = '03' then s_score else null end ) as 英语,

round(avg(s_score),2) as 平均成绩

from student a left join score b on as_id = bs_id group by as_name

order by 平均成绩 desc;

-- 18查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率

--及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90

select bc_id,bc_name,

max(as_score) as 最高分,

min(as_score) as 最低分,

round(avg(as_score),2) as 平均分,

round(sum(case when as_score>= 60 then 1 else 0 end)/count(s_id),2) as 及格率 ,

round(sum(case when as_score>= 70 and as_score <80 then 1 else 0 end)/count(s_id),2) as 中等率,

round(sum(case when as_score>= 80 and as_score <90 then 1 else 0 end)/count(s_id),2) as 优良率,

round(sum(case when as_score>= 90 then 1 else 0 end)/count(s_id),2) as 优秀率

from score a

left join course b

on ac_id = bc_id group by bc_id;

-- 19、按各科成绩进行排序,并显示排名

第一种:

set @pre_c_id:= '01';

set @rank:=0;

select tb2s_id ,tb2c_id,tb2s_score,tb2排名 from

(select ,(case when tb1c_id = @pre_c_id then @rank:=@rank+1 else @rank:=1 end) as 排名,

(case when @pre_c_id = tb1c_id then @pre_c_id else @pre_c_id:=tb1c_id end ) as pre_c_id

from

(select from score order by c_id,s_score desc) tb1 )tb2;

如果看不懂用第二种方法:

SELECT ac_id,as_id,as_score,COUNT(bs_score)+1 AS 排名

FROM score a LEFT JOIN score b ON as_score<bs_score AND ac_id = bc_id

GROUP BY ac_id,as_id,as_score ORDER BY ac_id,排名,as_id ASC

-- 20、查询学生的总成绩并进行排名

set @rank:=0;

select ,(@rank:=@rank+1) as rank from

(select s_id ,sum(s_score) as 总成绩 from score

group by s_id order by 总成绩 desc) tb1;

-- 21、查询不同老师所教不同课程平均分从高到低显示

select ac_id, dt_name,round(avg(as_score)) as 平均分 from score a

left join student b on as_id = bs_id

left join course c on ac_id = cc_id

left join teacher d on ct_id = dt_id group by ac_id

order by 平均分 desc;

-- 22、查询所有课程的成绩第2名到第3名的学生信息及该课程成绩

set @pre_c_id:= '01';

set @rank:=0;

select bs_name,tb2s_id ,tb2c_id,tb2s_score,tb2排名 from

(select ,(case when tb1c_id = @pre_c_id then @rank:=@rank+1 else @rank:=1 end) as 排名,

(case when @pre_c_id = tb1c_id then @pre_c_id else @pre_c_id:=tb1c_id end ) as pre_c_id

from

(select from score order by c_id,s_score desc) tb1 )tb2 join student b on tb2s_id = bs_id where 排名 = 2 or 排名 =3;

-- 23、统计各科成绩各分数段人数:课程编号,课程名称,[100-85],(85-70],(70-60],(0-60]及所占百分比

select bc_id,bc_name ,

sum(case when as_score >=85 then 1 else 0 end) as 100-85 ,

concat(round(100 sum(case when as_score >=85 then 1 else 0 end)/count( ),2), '%') as 百分比,

sum(case when as_score <85 and as_score >=70 then 1 else 0 end) as 85-70 ,

concat(round(100 sum(case when as_score <85 and as_score >=70 then 1 else 0 end)/count( ),2),'%') as 百分比,

sum(case when as_score <70 and as_score >=60 then 1 else 0 end) as 70-60 ,

concat(round(100 sum(case when as_score <70 and as_score >=60 then 1 else 0 end)/count( ),2) ,'%')as 百分比,

sum(case when as_score <60 and as_score >=0 then 1 else 0 end) as 60-0 ,

concat(round(100 sum(case when as_score <60 and as_score >=0 then 1

else 0 end)/count( ),2),'%') as 百分比

from score a left join course b on ac_id = bc_id group by bc_id;

-- 24、查询学生平均成绩及其名次

select tb1,(@rank:=@rank +1 ) as rank from

(select s_id ,round(avg(s_score),2) as 平均成绩 from score

group by s_id order by 平均成绩 desc) tb1,(select @rank:=0) b;

-- 25、查询各科成绩前三名的记录

set @pre_c_id:= '01';

set @rank:=0;

select bs_name,tb2s_id ,tb2c_id,tb2s_score,tb2排名 from

(select ,(case when tb1c_id = @pre_c_id then @rank:=@rank+1 else @rank:=1 end) as 排名,

(case when @pre_c_id = tb1c_id then @pre_c_id else @pre_c_id:=tb1c_id end ) as pre_c_id

from

(select from score order by c_id,s_score desc) tb1 )tb2 join student b on tb2s_id = bs_id where 排名 <4;

-- 26、查询每门课程被选修的学生数

select c_id ,count(s_id) as 选修人数 from score group by c_id;

-- 27、查询出只有两门课程的全部学生的学号和姓名

select as_id ,bs_name from score a left join student b on as_id = bs_id group by s_id having count() = 2;

-- 28、查询男生、女生人数

select sum(case s_sex when '男' then 1 else 0 end) as 男生人数,

sum(case s_sex when '女' then 1 else 0 end) as 女生人数 from student;

-- 29、查询名字中含有"风"字的学生信息

select from student where s_name like '%风%';

-- 30、查询同名同性学生名单,并统计同名人数

--略,不想写

-- 31、查询1990年出生的学生名单

select from student where s_birth like '1990%';

-- 32、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

select c_id ,round(avg(s_score),2) as 平均成绩 from score group by c_id order by 平均成绩 desc, c_id asc;

-- 33、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

select as_id,bs_name ,round(avg(s_score),2) as 平均成绩 from score a

left join student b on as_id = bs_id group by as_id having 平均成绩>=85;

-- 34、查询课程名称为"数学",且分数低于60的学生姓名和分数

select bs_name ,as_score from score a

left join student b on as_id = bs_id

where ac_id=(select c_id from course where c_name = '数学')and as_score < 60;

-- 35、查询所有学生的课程及分数情况;

select bs_name,

sum(case when ac_id = '01' then as_score else null end) as 语文,

sum(case when ac_id = '02' then as_score else null end) as 数学,

sum(case when ac_id = '03' then as_score else null end) as 英语

from score a right join student b on as_id = bs_id group by bs_name

-- 36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;

select bs_name,

sum(case when ac_id = '01' then as_score else null end) as 语文,

sum(case when ac_id = '02' then as_score else null end) as 数学,

sum(case when ac_id = '03' then as_score else null end) as 英语

from score a right join student b on as_id = bs_id group by bs_name having 语文>= 70 or 数学>= 70 or 英语>= 70 ;

-- 37、查询不及格的课程

select as_id,ac_id,bc_name,as_score from score a

left join course b on ac_id = bc_id where as_score<60;

--38、查询课程编号为01且课程成绩在80分以上的学生的学号和姓名;

select as_id,bs_name from score a left join student b on as_id = bs_id where ac_id = '01' and as_score>=80;

-- 39、求每门课程的学生人数

select c_id,count() as 学生人数 from score group by c_id ;

-- 40、查询选修"张三"老师所授课程的学生中,成绩最高的学生信息及其成绩

select a,bc_id,max(bs_score) as 最高成绩 from student a

right join score b on as_id = bs_id

group by bc_id

having bc_id = (select c_id from course

where t_id = (select t_id from teacher where t_name = '张三'));

-- 41、查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

--(这题我搞不清题目是什么意思,是指查找学生个体参加了的所有课程的成绩各不相同的那个学生信息呢?还是所有课程之间做对比呢,我更倾向于理解为前者)

--理解为前者的写法

select from

(select from score group by s_id,s_score) tb1

group by s_id having count() = 1;

--理解为后者的写法

select distinct as_id,ac_id,bs_score from score a,score b where ac_id != bc_id and as_score = bs_score;

-- 42、查询每门课程成绩最好的前两名

set @pre_c_id:= '01';

set @rank:=0;

select tb2s_id ,tb2c_id,tb2s_score from

(select ,(case when tb1c_id = @pre_c_id then @rank:=@rank+1 else @rank:=1 end) as 排名,

(case when @pre_c_id = tb1c_id then @pre_c_id else @pre_c_id:=tb1c_id end ) as pre_c_id

from

(select from score order by c_id,s_score desc) tb1 )tb2

join student b on tb2s_id = bs_id where 排名 <3;

-- 43、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人相同,按课程号升序排列

select c_id ,count() as 选修人数 from score group by c_id having 选修人数>5 order by 选修人数 desc , c_id asc;

-- 44、检索至少选修两门课程的学生学号

select s_id from score group by s_id having count() >= 2;

-- 45、查询选修了全部课程的学生信息

select from student where s_id in

(select s_id from score group by s_id having count() = 3)

--46、查询各学生的年龄

select s_name ,(date_format(now(),'%Y')-date_format(s_birth,'%Y') + (CASE when date_format(now(),'%m%d')>=date_format(s_birth,'%m%d') then 0 else 1 end)) as age

from student

-- 47、查询本周过生日的学生

---(实现得并不完全,因为例如出生月日为‘01-01’在每一年可能会输入不同周)

select from student where week(date_format(s_birth,'%m%d'))=week(date_format(now(),'%m%d')) ;

-- 48、查询下周过生日的学生

select from student

where week(date_format(s_birth,'%m%d'))=week(date_format(date_add(now(),interval 7-dayofweek(now())+1 day),'%m%d'));

-- 49、查询本月过生日的学生

select from student where date_format(s_birth,'%m') = date_format(now(),'%m')

-- 50、查询下月过生日的学生

select from student where date_format(s_birth,'%m') = date_format(date_add(now(),interval 1 month),'%m')

1、查和“S0701026”读者借了相同图书的读者的图书证号和姓名selectrno,rnfromreaderwherernoin(selecta

rnofromborrowasa,borrowasbwherea

bno=b

bnoandb

rno='S0701026')2、查询每个读者的姓名和所借图书名selectrn,bnfromreader,borrow,bookwherereader

rno=borrow

rnoandborrow

bno=book

bno3、查没有借书的读者的图书证号和姓名selectrno,rnfromreaderwherernonotin(selectrnofromborrow)4、查询借阅了“数据结构”的读者数量selectcount()fromborrowwherebno=(selectbnofrombookwherebn='数据结构')groupbybno5、查“李丽”和“张朝阳”都借阅了的图书的书号selecta

bnofromborrowasa,borrowasbwherea

rno=(selectrnofromreaderwherern='李丽')andb

rno=(selectrnofromreaderwherern='张朝阳')anda

bno=b

bno6、查询借书上限最大的读者信息selectfromreaderwhererup=(selectmax(rup)fromreader)orderbyrupdesc7、查询借阅图书数量达到2本的读者信息selectfromreaderwherernoin(selectrnofromborrowgroupbyrnohavingcount()>1)8、查询每个读者姓名,所借图书的图书号,没有借书的读者也列出来selectreader

rn,bnofromreaderleftjoinborrowonreader

rno=borrow

rno9、查询没有借阅“C程序设计”的读者姓名selectrnfromreaderwherernonotin(selectrnofromborrowwherebno=(selectbnofrombookwherebn='C程序设计'))10、检索所有姓李的读者所借图书的书号selectbnofromborrowwherernoin(selectrnofromreaderwherernlike'李%')11、查被借出的图书编号以“TP”开头的图书信息selectfrombookwherebnoin(selectbnofromborrowwherebnolike'TP%')12、查没有被借阅的图书信息selectfrombookwherebnonotin(selectbnofromborrow)13、查询借阅了“数据库原理及其应用教程”的读者的图书证号和姓名selectreader

rno,rnfromreader,borrow,bookwherereader

rno=borrow

rnoandborrow

bno=book

bnoandbn='数据库原理及其应用教程'14、统计各个系读者的数量,显示系名和数量selectrde系名,count()数量fromreadergroupbyrde15、查询有过期未还图书的读者的书号、姓名、所在系selectbno,rn,rdefromreader,borrowwherereader

rno=borrow

rnoandrda

rnofromborrowasa,borrowasbwherea

bno=(selectbnofrombookwherebn='数据结构')andb

bno=(selectbnofrombookwherebn=' *** 作系统教程')anda

rno=b

rno17、查库存书的总数selectsum(bnu)frombook18、查询借阅了图书的读者信息selectfromreaderwherernoin(selectrnofromborrow)

6、C

7、C

8、AB

9、BCD

10、AD

看来就是最后一个有分歧了:

SJP(学生S, 课程号J, 名次P)

(S,J)和(J,P) 均为候选码

函数依赖为(S,J)-->P, (J,P)-->S

其中,两个决定因素均包含(是)候选码

可见SJP属于BCNF

习题来源于网络,sql语句是自己的答案,部分有参考。欢迎指正及探讨。

1 查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数

11 查询同时存在" 01 "课程和" 02 "课程的情况

12 查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null)

null提示:使用left join

13 查询不存在" 01 "课程但存在" 02 "课程的情况

2 查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩

3 查询在 SC 表存在成绩的学生信息

4 查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null)

41 查有成绩的学生信息

5 查询「李」姓老师的数量

6 查询学过「张三」老师授课的同学的信息

7 查询没有学全所有课程的同学的信息

8 查询至少有一门课与学号为" 01 "的同学所学相同的同学的信息

9 查询和" 01 "号的同学学习的课程 完全相同的其他同学的信息

10 查询没学过"张三"老师讲授的任一门课程的学生姓名

11 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

12 检索" 01 "课程分数小于 60,按分数降序排列的学生信息

13 按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

14 查询各科成绩最高分、最低分和平均分:以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率(及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90

141要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

15 按各科成绩进行排序,并显示排名, Score 重复时保留名次空缺

151 按各科成绩进行排序,并显示排名, Score 重复时合并名次

16 查询学生的总成绩,并进行排名,总分重复时保留名次空缺

161 查询学生的总成绩,并进行排名,总分重复时不保留名次空缺

17 统计各科成绩各分数段人数:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] 及所占百分比

18 查询各科成绩前三名的记录

19 查询每门课程被选修的学生数

20 查询出只选修两门课程的学生学号和姓名

21 查询男生、女生人数

22 查询名字中含有「风」字的学生信息

23 查询同名同性学生名单,并统计同名人数

24 查询 1990 年出生的学生名单

25 查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

26 查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩

27 查询课程名称为「数学」,且分数低于 60 的学生姓名和分数

28 查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)

29 查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数

30 查询不及格的课程

31 查询课程编号为 01 且课程成绩在 80 分以上的学生的学号和姓名

32 求每门课程的学生人数

33 成绩不重复,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩

34 成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩

35 查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

36 查询每门功成绩最好的前两名

37 统计每门课程的学生选修人数(超过 5 人的课程才统计)

38 检索至少选修两门课程的学生学号

39 查询选修了全部课程的学生信息

40 查询各学生的年龄,只按年份来算

41 按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一

42 查询本周过生日的学生

43 查询下周过生日的学生

44 查询本月过生日的学生

45 查询下月过生日的学生

11 查询同时存在" 01 "课程和" 02 "课程的情况

12 查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )

13 查询不存在" 01 "课程但存在" 02 "课程的情况

41 查有成绩的学生信息

151 按各科成绩进行排序,并显示排名, Score 重复时合并名次

161 查询学生的总成绩,并进行排名,总分重复时不保留名次空缺

以上就是关于问几道数据库的基本题目全部的内容,包括:问几道数据库的基本题目、WEB 数据库的题目、sql面试题50题(mysql版)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9572742.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存