使用如下3个数据库表:金牌榜.DBF 国家代码C(3), 金牌数I,银牌数I,铜牌数I获奖牌情况.DBF 国家代码C(3), 运动员名称C(20),项目名称C(30),名次I国家.DBF 国家代码C(3), 国家名称C(200)“金牌榜”表中一个国家一条记录:“获奖牌情况”表中每个项目中的各个名次都有一条记录,名次只取前3名,例如:使用“获奖牌情况”和“国家”两个表查询“中国”所获金牌(名次为1)的数量,应使用SQL语句SELECT COUNT(*)FROM 国家 INNER JOIN获奖牌情况;【 】国

题目

使用如下3个数据库表:

金牌榜.DBF 国家代码C(3), 金牌数I,银牌数I,铜牌数I

获奖牌情况.DBF 国家代码C(3), 运动员名称C(20),项目名称C(30),名次I

国家.DBF 国家代码C(3), 国家名称C(200)

“金牌榜”表中一个国家一条记录:“获奖牌情况”表中每个项目中的各个名次都有一条记录,名次只取前3名,例如:

使用“获奖牌情况”和“国家”两个表查询“中国”所获金牌(名次为1)的数量,应使用SQL语句

SELECT COUNT(*)FROM 国家 INNER JOIN获奖牌情况;

【 】国家.国家代码:获奖牌情况.国家代码;

WHERE国家.国家名称="中国" AND名次=1


相似考题
更多“ 使用如下3个数据库表:金牌榜.DBF 国家代码C(3), 金牌数I,银牌数I,铜牌数I获奖牌情况.DBF 国家代码C(3), 运动员名称C(20),项目名称C(30),名次I国家.DBF 国家代码C(3), 国家”相关问题
  • 第1题:

    在考生文件夹下完成下列基本操作:

    (1)建立一个名称为“外汇管理”的数据库。

    (2)将表currency_s1.dbf 和rate_ exchange. dbf 添加到新建立的数据库中。

    (3)将表rate_ exchange. dbf中“买出价”字段的名称改为“现钞卖出价”。

    (4)通过“外币代码”字段建立表 rate_ exchange. dbf和currency_ s1.dbf之间的一对多永久联系(需要首先建立相关索引)。


    正确答案:(1)在命令窗口输入命令:MODIFY DATABASE 外汇管理新建数据库。 (2)右击新建的数据库选择“添加表”快捷菜单命令在弹出的“打开”对话框中将考生文件夹下的自由表 currency_s1.DBF 和 rate_ exchange. dbf 分别添加到数据库中。 (3)在数据库设计器中右击rate_ exchange. dbf 数据表选择“修改” 快捷菜单命令系统弹出表设计器选中“买出价”字段将字段名称改为“现钞卖出价”。 (4)在数据库设计器中右击rate_ exchange 数据表选择“修改” 快捷菜单命令打开表设计器在“字段”选项卡中为“外币代码”字段选择一个索引排序然后单击“索引”选项卡选择索引类型为“主索引”以同样的方法为 currency_s1 dbf 表建立一个普通索引索引项为“外币代码”。返回数据库设计器将rate exchange 表中“索引”下面的“外币代码”主索引字段拖到 currency_s1.dbf 表中“索引”下面的“外币代码”索引字段上建立currency_s1.dbf 和rate_ exchange. dbf 两个表之间永久性联系
    (1)在命令窗口输入命令:MODIFY DATABASE 外汇管理,新建数据库。 (2)右击新建的数据库,选择“添加表”快捷菜单命令,在弹出的“打开”对话框中,将考生文件夹下的自由表 currency_s1.DBF 和 rate_ exchange. dbf 分别添加到数据库中。 (3)在数据库设计器中,右击rate_ exchange. dbf 数据表,选择“修改” 快捷菜单命令,系统弹出表设计器,选中“买出价”字段,将字段名称改为“现钞卖出价”。 (4)在数据库设计器中,右击rate_ exchange 数据表,选择“修改” 快捷菜单命令,打开表设计器,在“字段”选项卡中为“外币代码”字段选择一个索引排序,然后单击“索引”选项卡,选择索引类型为“主索引”,以同样的方法为 currency_s1 dbf 表建立一个普通索引,索引项为“外币代码”。返回数据库设计器,将rate exchange 表中“索引”下面的“外币代码”主索引字段拖到 currency_s1.dbf 表中“索引”下面的“外币代码”索引字段上,建立currency_s1.dbf 和rate_ exchange. dbf 两个表之间永久性联系 解析:本大题主要考查的是数据库和数据表之间的联系,以及字段索引的建立。新建数据库可以通过菜单命令、工具栏按钮或直接输入命令来建立,添加和修改数据库中表的以及建大表之间的联系,可以通过数据库设计器来完成,建立表索引以及修改表结构可以在数据表设计器中完成。

  • 第2题:

    将金牌榜.DBF中的新增加的字段奖牌总数设置为金牌数、银牌数、铜牌数3项的和,应使用SQL语句______ 金牌榜 ______ 奖牌总数=金牌数+银牌数+铜牌数


    正确答案:UPDATE,SET
    SQL的UPDATE命令可以实现对数据表的字段的更新操作。语句中的SET字句后面的表达式指明具体的修改方法。

  • 第3题:

    以下题目使用如下三个条件:

    零件.DBF:零件号C(2),零件名称C(10),单价N(10),规格C(8)

    使用零件.DBF:项目号C(2),零件号C(2),数量I

    项目.DBF:项目号C(2),项目名称C(20),项目负责人C(10),电话C(20)

    为“数量”字段增加有效性规则:数量>0,应该使用的SQL语句是【 】,ABLE使用零件【 】数量SET【 】数量>0


    正确答案:ALTER、ALTER、CHECK
    ALTER、ALTER、CHECK 解析:本题考查使用SQL语句设置字段有效性规则的语法格式。为表的字段设置有效性规则,可以使用SQL语句实现,其命令格式为:
    ALTER TABLE表名>ALTER字段名>SETCHECK表达式>

  • 第4题:

    使用“获奖牌情况”和“国家”两个表查询“中国”所获金牌(名次为1)的数量,应使用SQL语句:SELECT COUNT(*) FROM 国家 INNER JOIN 获奖牌情况;______ 国家.国家代码 = 获奖牌情况.国家代码:WHERE 国家.国家名称 = “中国”AND 名次=1


    正确答案:ON
    本题考查SQL实现连接操作的命令。SQL中实现连接的命令格式为: SELECT……FROM<表名>         INNER JOIN<表名>            ON<连接表达式>
    WHERE……国家.国家代码=获奖牌情况.国家代码
    是连接表达式,所以前面应写ON。

  • 第5题:

    阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

    [说明]

    下面的程序演示了根据随机产生的奖牌数,生成金银奖牌榜的过程。程序使用的排序法是简单排序法。以金牌得数为例,其思想是选择最大的元素,将它交换到最前面;然后对剩下的部分采用同样的方法,直到全部排序完成。

    程序界面中,左右两个文本框分别用于存放随机产生的奖牌数以及生成的奖牌榜,名为Text1和Text2,上下两个按钮分别名为Command1和Command2。代码中使用的量主要有:一维数组 cntries,用于存储10个国家的名称,二维数组medals,其元素medals(i,0)和medals(i,1)分别用于存放第i个(i从0开始)国家的金、银牌数目。

    [Visual Basic代码]

    Dim cntries(10) As String, medals(10,2) As Integer

    ’随机产生奖牌数

    Sub newMedals()

    …… ’为数组cntries和medals赋值

    End Sub

    ’输出奖牌榜

    Sub printOut(txt As (1) )

    Dim strResuh As String, i As Integer

    strResult=“国家”& Chr(9) &“金牌数”& Chr(9) &“银牌数”& vbCrLf

    For i=0 To 9

    strResult = strResult & cntries(i) & Chr(9) & medals(i,0) & Chr(9) & medals(i,1) & vbCrLf

    Next

    txt.Text = strResult

    End Sub

    ’交换两变量的值

    Sub exchange( (2) a As Variant, (2) b As Variant)

    Dim temp As Variant

    temp = a: a = b: b = temp

    End Sub

    ’随机产生并输出奖牌数

    Private Sub Command1_Click()

    newMedals

    printOut Text1

    End Sub

    ’生成并输出奖牌榜

    Private Sub Command2_Click()

    Dim i,j, k As Integer, temp As String

    For i = 0 To 9 ’按金牌数排序

    j = i ’找到自第i个位置起全部数据中金牌得数最多者,记其下标为j

    For k = i + 1 To 9

    If (3) Then j=k

    Next

    If i < > j Then ’若i,j不等,则交换对应位置的国家名、金银牌数目

    exchange cntnes(i), entries(j)

    exchange medals(i, 0), medals(j, 0)

    exchange medals(i, 1), medals(j, 1)

    End If

    Next

    For i = 0 To 9 ’按银牌数进行二次排序

    j = i

    For k = i + 1 To 9

    If medals(k,0) <> medals(j, 0) Then (4)

    If (5) Then j = k

    Next

    If i < > j Then

    exchange cntries(i), cntries(j)

    exchange medals(i, 1), medals(j, 1)

    End If

    Next

    printOut Text2

    End Sub


    正确答案:(1) TextBox (2) ByRef (3) medals(k0) > medals(j0) (4) Exit For (5) medals(k1)>medals(j1)
    (1) TextBox (2) ByRef (3) medals(k,0) > medals(j,0) (4) Exit For (5) medals(k,1)>medals(j,1) 解析:(1)由printOut过程中“txt.Text”及按钮单击事件中调用语句“printOut Text1”可知,txt是一个文本框控件(TextBox)类型的参数;
    (2)过程exchange的作用是交换两个参数的值,因此参数调用方式应为传址调用;
    (3)此处,仅当第k个国家金牌数大于第j个国家金牌数,即medals(k,0)>medals(j,0)时,才需要更新j的值;
    (4)由于金牌数已按降序排列,medals(k,0)>medals(j,0)表明第k个位置及以后各国家的金牌数都小于第j个国家金牌数。而对银牌二次排序时,只需要考虑金牌数相同的情形,因此此处应即刻退出For循环;(5)参考(3),此处是比较银牌数,仅当第k个国家银牌数人于第j个国家银牌数,即medals(k,1)>medals (j,1)时,才需要更新j的值。