niusouti.com

编写程序 1.有10个学生,每个学生的信息包括学号、姓名、3门课的成绩,从键盘输入10个学生信息,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。 要求用input函数输入10个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。

题目

编写程序 1.有10个学生,每个学生的信息包括学号、姓名、3门课的成绩,从键盘输入10个学生信息,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。 要求用input函数输入10个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。


相似考题
更多“编写程序 1.有10个学生,每个学生的信息包括学号、姓名、3门课的成绩,从键盘输入10个学生信息,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。 要求用input函数输入10个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。”相关问题
  • 第1题:

    有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。


    正确答案:
    #include"stdio.h"
    #define N 3
    struct student
    { long stu_num;
    char sex;
    char name[15];
    int score[4];
    float average; };
    main
    { intI,j,index;
    float sum,max;
    struct student stuarr[N];
    for(I=0;I{ printf("please input %d student information:\n",I+1);
    scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
    for(j=0;j<4;j++)
    scanf("%d",&stuarr[I].score[j]); }
    for(I=0;I{ sum=0.0;
    for(j=0;j<4;j++)
    sum+=stuarr[I].score[j];
    stuarr[I].average=sum/4.0; }
    max=stuarr[0].average;
    index=0;
    for(I=1;Iif(stuarr[I].average>max)
    {max=stuarr[I].average; index=I; }
    printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[i

  • 第2题:

    mdb”数据库中有教师、,课程、授课、课程成绩、系别和学生表。

    (1)以学生表和系别表为数据源,创建查询“查询1”,统计各系的学生数。结果显示系名称和学生数字段,学生数=Count(学号)。查询结果如图所示。

    (2)以课程成绩表为数据源,创建查询“查询2”,查询每门课程的最高分。结果显示课程名称和最高分字段,最高分=Max(成绩)。查询结果如图所示。


    正确答案:

  • 第3题:

    在某数据库中有如下两个表“院系”和“学生”,试查询每个院系平均成绩最高的学生信息,要求得到的信息包括院系名和最高分学生的平均成绩。正确的命令是(51)。

    A.SELECT院系名,MAX(平均成绩)FROM院系JOIN学生ON院系.院系号=学生.院系号GROUP BY院系名

    B.SELECT院系名,MAX(平均成绩)FROM院系UNION学生ON院系.院系号=学生.院系号GROUP BY院系名

    C.SELECT院系名,MAX(平均成绩)FROM院系JOIN学生WHERE院系.院系号=学生.院系号GROUP BY院系名

    D.SELECT院系名,MAX(平均成绩)FROM院系UNION学生WHERE院系.院系号=学生.院系号GROUP BY院系名


    正确答案:A
    解析:注意将两表连接要用JOIN命令。

  • 第4题:

    查询所有选修了“计算机基础”的学生的“计算机基础”成绩,要求得到的信息包括学生姓名和成绩,并按成绩由高到低的顺序排列,下列语句正确的是

    A.SELECT学生.姓名,成绩.成绩FROM学生,成绩; WHERE学生.学号=成绩.学号; AND课程.课程名称=‘计算机基础’; ORDER BY成绩.成绩DESC

    B.SELECT学生.姓名,成绩.成绩FROM课程,成绩; WHERE AND课程.课程编号=成绩.课程编号; AND课程.课程名称=‘计算机基础’; ORDER BY成绩.成绩DESC

    C.SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=‘计算机基础’; GROUP BY成绩.成绩DESC

    D.SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=‘计算机基础’; ORDER BY成绩.成绩DESC


    正确答案:D
    解析:本小题为多表联接查询,注意每两个表之间进行关联的关键字,利用ORDER BY短语可以对查询结果进行排序,降序关键字为DESC。 选项A)和选项B)中缺少数据表文件。选项C)中,GROUP BY短语使用错误,将查询结果进行排序的短语是ORDER BY。掌握和理解SQL分组查询语句的格式及功能。

  • 第5题:

    检索还未确定成绩的学生选课信息,正确的SQL命令是( )。

    A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩IS NULL

    B.SELECT、学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL

    C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL

    D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL


    正确答案:C
    解析:inner join on表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内联接排除来自不具有与其它源表中的行匹配的行的源表的行。

  • 第6题:

    已知关系模式:

    S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名

    C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师

    SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩

    要求实现如下5个处理:

    1. 找出没有选修过“李明”老师讲授课程的所有学生姓名

    2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

    3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名

    4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号

    5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩


    正确答案:
     

  • 第7题:

    学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数:

    注意:部分源程序在文件PROGl.C中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数flm的花括号中填入你编写的若干语句。


    正确答案:
    【考点分析】本题考查:查找结构体数组中的最小数据,需要通过for循环语句和if条件语句来完成。【解题思路】本题中第一个循环语句的作用是遍历数组求出最低分数,第二个循环语句的作用是将数组中的元素与最低分比较,查找是否存在与最低分相等的成绩。

  • 第8题:

    已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

    注意:部分源程序存在文件PROGl.C文件中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的莅括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是求最低分数的学生。本题是关于求解结构体中某些成员的最小值,首先将第一个值设定为最小值,并在循环中将其他所有值与该值进行比较,求得最小值。

  • 第9题:

    请教:北京华建集团SQL面试题第1大题第1小题如何解答?

    【题目描述】

    1.已知关系模式:

    S (SNO,SNAME)                      学生关系。SNO 为学号,SNAME 为姓名

    C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师

    SC(SNO,CNO,SCGRADE)       选课关系。SCGRADE 为成绩

    要求实现如下5个处理:

     1. 找出没有选修过“李明”老师讲授课程的所有学生姓名

     2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

     3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名

     4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号

     5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩

     


    【参考答案分析】: 1.找出没有选修过“李明”老师讲授课程的所有学生姓名 --实现代码:Select Sname As 学生姓名 From s Where Not Exists (Select * From c, Sc Where c.Cno = Sc.Cno And Cteacher = '李明' And Sc.Sno = s.Sno);Select Sname As 学生姓名 From s Where Sno Not In (Select Sno From c, Sc Where c.Cno = Sc.Cno And Cteacher = '李明');2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 --实现代码:Select s.Sno As 学生学号, s.Sname As 学生姓名, Avg(Sc.Scgrade) As 平均成绩 From s, Sc Where Sc.Sno = s.Sno And Sc.Sno In (Select Sc.Sno From Sc Where Sc.Scgrade < 60 Group By Sc.Sno Having Count(*) > 2) Group By s.Sno, s.Sname;3. 列出既学过“01”号课程,又学过“02”号课程的所有学生姓名 --实现代码:select s.sno as 学生学号,s.sname as 学生姓名 from s where sno in(select sc.sno as 学生学号 from c,sc where c.cno=sc.cno and c.cno in('01','02') group by sno having count(distinct sc.cno)=2);4. 列出“01”号课成绩比“02”号同学该门课成绩高的所有学生的学号 --实现代码:select sc1.sno as 学生学号 from sc as sc1,c as c1,sc as sc2,c as c2where sc1.cno=c1.cno and c1.cno='01' and sc2.cno=c2.cno and c2.cno='02'and sc1.scgrade>sc2.scgrade group by sc1.sno;5. 列出“01”号课成绩比“02”号课成绩高的所有学生的学号及其“01”号课和“02”号课的成绩 --实现代码:select sc1.sno as 学生学号, sc1.scgrade as no1grade ,sc2.scgrade as no2gradefrom sc as sc1,c as c1,sc as sc2,c as c2where sc1.cno=c1.cno and c1.cno='01' and sc2.cno=c2.cno and c2.cno='02'and sc1.scgrade>sc2.scgrade group by sc1.sno;

    答案是:
    1.找出没有选修过“李明”老师讲授课程的所有学生姓名
    --实现代码:
    Select Sname As 学生姓名
      From s
    Where Not Exists (Select *
              From c, Sc
             Where c.Cno = Sc.Cno
               And Cteacher = '李明'
               And Sc.Sno = s.Sno);

    Select Sname As 学生姓名
      From s
    Where Sno Not In (Select Sno
                         From c, Sc
                        Where c.Cno = Sc.Cno
                          And Cteacher = '李明');

    2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

      --实现代码:
    Select s.Sno As 学生学号, s.Sname As 学生姓名, Avg(Sc.Scgrade) As 平均成绩
      From s, Sc
    Where Sc.Sno = s.Sno
       And Sc.Sno In (Select Sc.Sno
                        From Sc
                       Where Sc.Scgrade < 60
                       Group By Sc.Sno
                      Having Count(*) > 2)
    Group By s.Sno, s.Sname;

    3. 列出既学过“01”号课程,又学过“02”号课程的所有学生姓名

      --实现代码:
    select s.sno as 学生学号,s.sname as 学生姓名 from s where sno in(select sc.sno as 学生学号 from c,sc where c.cno=sc.cno and c.cno in('01','02') group by sno having count(distinct sc.cno)=2);

    4. 列出“01”号课成绩比“02”号同学该门课成绩高的所有学生的学号

      --实现代码:
    select  sc1.sno as 学生学号 from sc as sc1,c as c1,sc as sc2,c as c2
    where sc1.cno=c1.cno and c1.cno='01' and sc2.cno=c2.cno and c2.cno='02'
    and sc1.scgrade>sc2.scgrade group by sc1.sno;

    5. 列出“01”号课成绩比“02”号课成绩高的所有学生的学号及其“01”号课和“02”号课的成绩

      --实现代码:
    select  sc1.sno as 学生学号, sc1.scgrade as no1grade ,sc2.scgrade as no2grade
    from sc as sc1,c as c1,sc as sc2,c as c2
    where sc1.cno=c1.cno and c1.cno='01' and sc2.cno=c2.cno and c2.cno='02'
    and sc1.scgrade>sc2.scgrade group by sc1.sno;

  • 第10题:

    设有学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字为()

    • A、课号,成绩
    • B、学号,成绩
    • C、学号,课号
    • D、学号,姓名,成绩

    正确答案:C

  • 第11题:

    已知学生成绩关系表,其模式为STUDENT(学号,姓名,数学,物理,英语),完成下列查找3门课成绩都在90分以上的学生名单的SQL语句为:SELECT 学号,姓名 FROM STUDENT WHERE数学>=90()物理>=90()英语>=90


    正确答案:AND;AND

  • 第12题:

    单选题
    设有学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字为()
    A

    课号,成绩

    B

    学号,成绩

    C

    学号,课号

    D

    学号,姓名,成绩


    正确答案: C
    解析: 暂无解析

  • 第13题:

    检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的SQL语句是( )。

    A.SELECT 课程.课程名称,学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; GROUP BY 课程编号

    B.SELECT 课程.课程名称,学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; GROUP BY 课程.课程编号

    C.SELECT 课程.课程名称,学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; ORDER BY 课程.课程编号

    D.SELECT 课程.课程名称=学生.姓名,MAX(成绩) AS 最高分; FROM 成绩,课程,学生; WHERE 成绩.课程编号=课程.课程编号; AND 成绩.学号=学生.学号; ORDER BY 课程.课程编号


    正确答案:B
    解析:本题中首先通过GROUPBY短语将“课程”表中的记录按“课程编号”分组,然后通过MAX()函数求出每组中的最高成绩,即每门课程的最高成绩。由于查询输出结果涉及到多个表的字段,因此要使用连接查询,表之间的连接条件放在WHERE短语中,AND用来连接两个连接条件,以保证在查询的3个表之间建立联系。

  • 第14题:

    在考生文件夹下有“xx”数据库。

    在“窗体1”窗体中添加标签和名称相同的文本框“请输入学号”和“学生姓名”,添加“显示学生姓名”按钮,编写程序实现输入学号后单击“显示学生姓名”按钮后显示学生姓名。要求用Dlookup()函数实现。窗体设计如图所示。


    正确答案:

  • 第15题:

    有如下关系数据库:

    学生(学号,姓名,性别,专业、奖学金)

    课程(课程号,名称,学分)

    学习(学号,课程号,分数)

    用sQL语言完成下列操作:

    1)检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业;

    2)检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、

    姓名和专业;

    3)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元;

    4)定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分。


    正确答案:1)SELECT学号姓名专业FROM学生WHERE学号NOT IN (SELECT学号FROM学习WHERE分数<80) 2)SELECT学号姓名专业FROM学生学习WHERE学生.学号:学习.学号AND学习.课程号=课程.课程号AND学生.奖学金<=0 AND学习.分数>95; 3)LJPDATE学生 SET奖学金=1000 WHERE奖学金<=0 AND学号IN (SEI.ECT学号 FROM学习WHERE分数=100): 4)CREATE VIEW AAA(课程号名称学分)AS SELECT。课程号名称学分FORM课程wHERE课程号lN (SELECT课程号 FROM学习 WHERE分数=100);
    1)SELECT学号,姓名,专业FROM学生WHERE学号NOT IN (SELECT学号FROM学习WHERE分数<80) 2)SELECT学号,姓名,专业FROM学生,学习WHERE学生.学号:学习.学号AND学习.课程号=课程.课程号AND学生.奖学金<=0 AND学习.分数>95; 3)LJPDATE学生 SET奖学金=1000 WHERE奖学金<=0 AND学号IN (SEI.ECT学号 FROM学习WHERE分数=100): 4)CREATE VIEW AAA(课程号,名称,学分)AS SELECT。课程号,名称,学分FORM课程wHERE课程号lN (SELECT课程号 FROM学习 WHERE分数=100); 解析:主要考查了SQL的数据查询功能、数据定义功能和数据操纵功能。这类问题主要是考查对SELECT FROM WHERE语句的掌握。

  • 第16题:

    使用如下三个数据库表: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号C(8),课程名称C(20)) 成绩(学号C(8),课程编号C(8),成绩N(5,1)) 查询所有选修了“高等数学”的学生的“相关”成绩,要求信息中包括学生姓名和成绩,并按成绩由低到高的顺序排列,下列语句正确的是( )。

    A. SELECT学生.姓名,成绩.成绩FROM学生,成绩; WHERE学生.学号=成绩.学号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC

    B. SELECT学生.姓名,成绩.成绩FROM课程,成绩; WHERE AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC

    C. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; GROUP BY成绩.成绩ASC

    D. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC


    正确答案:D
    本小题为多表连接查询,注意每两个表之间进行关联的关键字,利用ORDER BY短语可以对查询结果进行排序,升序关键字为ASC。选项A和选项B中缺少数据表文件。选项C中,GROUP BY短语使用错误,将查询结果进行排序的短语是0RDER BY。

  • 第17题:

    第下列各题中使用如下数据表。 “学生”表:学号C(8),姓名C(8),性别c(2),系名(6) “课程”表:课程编号C(4),课程名称c(12),开课系名C(10) “成绩”表:学号c(8),课程编号c(4),成绩N(6,2) 检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的SQL语句是( )。

    A.SELECT课程.课程名称,学生.姓名,MAX(成绩). As最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 GROUP BY课程编号

    B.SELECT课程.课程名称,学生.姓名,MAX(成绩) AS最高分 FROM成绩,课程,学生 wHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 GROUP BY课程.课程编号

    C.SELECT课程.课程名称,学生.姓名.MAX(成绩) AS.最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.学号 ORDER BY课程.课程编号

    D.SELECT课程.课程名称,学生.姓名.MAX(成绩) AS最高分 FROM成绩,课程,学生 WHERE成绩.课程编号=课程.课程编号 AND成绩.学号=学生.!学号 ORDER BY课程.课程编号


    正确答案:B
    本题中首先通过GROUl’BY短语将“课程”表中的记录按“课程编号”分组,然后通过MAX函数求出每组中的最高成绩,即每门课程的最高成绩。由于查询输出结果涉及多个表的字段,因此要使用连接查询,表之间的连接条件放在WHERE短语中,AND用来连接两个连接条件,以保证在查询的三个表之间建立联系。

  • 第18题:

    设有表示学生选课情况的3张表,学生S(学号,姓名,性别,年龄,身份证号)、课程C(课号,课名)和选课sc(学号,课号,成绩),则表sc的关键字(键或码)为( )。

    A.课号,成绩

    B.学号,成绩

    C.学号,课号

    D.学号.姓名,成绩


    正确答案:C
    关键字是指属性或属性的组合,其值能够唯一地标识一个元组。而在表sc中,学号和课程号的组合可以对元组进行唯一地标识。

  • 第19题:

    检索还未确定成绩的学生选课信息,正确的SQL命令是( )。

    A.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学=选课.学号AND选课.成绩IS NULL

    B.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 WHERE学生.学号=选课.学号AND选课.成绩=NULL

    C.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩IS NULL

    D.SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课 ON学生.学号=选课.学号WHERE选课.成绩=NULL


    正确答案:C
    C。【解析】INNERJOINON表示内链接,内链接是通过比较源表间共享的列的值从多个源表检索行的操作。内链接排除来自不具有与其他源表中的行匹配的行的源表的行。

  • 第20题:

    设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课程号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为

    A.课号,成绩

    B.学号,成绩

    C.学号,课号

    D.学号,姓名,成绩


    正确答案:C
    解析:“选课表”SC是“学生表”S和“课程表”C的映射表,主键是两个表主键的组合。

  • 第21题:

    某学校的教学信息关系数据库中有如下两个表:

    学生表(学号,姓名,性别,专业)

    成绩表(学号,课程名,分数)

    用SQL语句表达下述查询:

    (a)检索分数高于80分的所有学生的学号和分数。

    (b)检索选修了“高等数学”课程的所有学生的学号。


    正确答案:
    SELECT学号,分数FROM成绩表WHERE分数>80
    SELECT学号FROM成绩表WHERE课程名='高等数学'

  • 第22题:

    用户定义函数“stuinfo(参数)”功能是根据输入学生的学号,通过SELECT命令查询得到学生姓名及各科成绩,该函数属于()。

    • A、标量函数
    • B、内嵌表值函数
    • C、多语句表值函数
    • D、字符函数

    正确答案:B

  • 第23题:

    单选题
    假设成绩字段的默认值是空值,检索还未确定成绩的学生选课信息,正确的SQL命令是(  )。
    A

    SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课WHERE学生.学号=选课.学号AND选课.成绩IS NULL

    B

    SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课WHERE学生.学号=选课.学号AND选课.成绩=NULL

    C

    SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课ON学生.学号=选课.学号WHERE选课.成绩IS NULL

    D

    SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课ON学生.学号=选课.学号WHERE选课.成绩=NULL


    正确答案: D
    解析:
    超连接查询有4种连接方式,其基本格式为:SELECT…FROM左表INNER|LEFT|RIGHT|FULLJOIN右表ON连接条件WHERE其他条件。要检索还未确定成绩的学生选课信息,应使用IS NULL。

  • 第24题:

    单选题
    若姓名函数依赖于学号,班级函数依赖于学号,申请时间函数依赖与学号和社团编号。从规范化角度看,下列四种数据库逻辑模式设计中最好的是()。
    A

    学生(学号、姓名)班级(学号、班级)成员(学号、社团编号、申请时间)

    B

    学生(学号、姓名、班级)成员(社团编号、申请时间)

    C

    学生(学号、姓名、班级)成员(学号、号、申请时间)

    D

    学生(学号、姓名、班级、社团编号、申请时间)


    正确答案: A
    解析: 暂无解析