niusouti.com

在表“职工”和“部门”中查找职工号为001号职工的记录,则下列正确的是( )。A.SELECT*FROM 职工,部门; WHERE(职工号=001)AND(职工.职工号=部门.职工号)B.SELECT*FROM 职工,部门; WHERE职工号=001 OR职工.职工号=部门.职工号C.SELECT*FROM 职工,部门; WHERE(职工号=001)AND(职工号=职工号)D.SELECT*FROM 职工,部门 WHERE 职工号=001

题目

在表“职工”和“部门”中查找职工号为001号职工的记录,则下列正确的是( )。

A.SELECT*FROM 职工,部门; WHERE(职工号=001)AND(职工.职工号=部门.职工号)

B.SELECT*FROM 职工,部门; WHERE职工号=001 OR职工.职工号=部门.职工号

C.SELECT*FROM 职工,部门; WHERE(职工号=001)AND(职工号=职工号)

D.SELECT*FROM 职工,部门 WHERE 职工号=001


相似考题
参考答案和解析
正确答案:A
解析:在联接中若需查询的在不同表中的相同字段名,必须用关系前缀指明字段所属的表,运算符为“.”,即表名>.字段名>。WHERE短语后面也是用表名做前缀,但通常是在FROM短语为表名定义为别名,可以方便输入。
更多“在表“职工”和“部门”中查找职工号为001号职工的记录,则下列正确的是()。A.SELECT*FROM 职工,部门; ”相关问题
  • 第1题:

    有"部门表"和"商品表"的内容如下:

    部门.dbf:部门号C(8),部门名C(12),负责人C(6),电话C(16)

    职工.dbf:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D

    查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排列。正确的命令是

    A.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10; ORDER BY COUNT(职工号) ASC

    B.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10; ORDER BY COUNT(职工号) DESC

    C.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10 ORDER BY职工人数ASC

    D.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号; GROUP BY 部门名 HAVING COUNT(*)>=10 ORDER BY 职工人数 DESC


    正确答案:D
    解析:在SQL SELECT子句中可以包含算术表达式或函数,利用AS可以为它们重新定义字段名,但它们并不存储在表内,因此被称为虚字段。对指定的字段进行排序,应使用重新定义的字段名,对查询结果进行降序排序时,还应使用关键字DESC。

  • 第2题:

    在SQL查询中,若要取得“职工”数据表中的所有记录和字段,其SQL语句为( )。

    A.SELECT姓名FROM职工

    B.SELECT*FROM职工

    C.SELECT姓名FROM职工 WHILE职工号=265

    D.SELECT*FROM职工WHILE职工号=265


    正确答案:B
    解析:选项A表示取得“职工”数据表中的所有记录,但只取得“姓名”字段,并不是全部字段;选项C表示取得“职工号”为0265的记录,且只取“姓名”字段;选项D表示取得“职工号”为 0265的记录的全部字段。只有选项B符合题目要求。

  • 第3题:

    设有职工表文件,在职工表中查找奖金最高的职工记录,完成下列SQL语句。

    SELECT*FROM 职工表;

    WHERE 奖金>=______;

    (SELECT 奖金 FROM 职工表)


    正确答案:ALL
    ALL 解析:SQL语句中可以利用ANY、ALL等量词进行查询。ANY、 ALL和SOME是量词,其中ANY和SOME是同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。

  • 第4题:

    检索每个部门的职工工资的总和,要求显示“部门名称”和“基本工资”,正确的命令是( )。

    A.SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; ORDER BY 部门号

    B.SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; GROUP BY 部门号

    C.SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; ORDRE BY 职工.部门号

    D.SELECT 部门名称,SUM(基本工资) FROM 部门,职工; WHERE 职工.部门号=部门.部门号; GROUP BY 职工.部门号


    正确答案:D
    解析:进行SQL简单计算查询时,还可以加上 GROUP BY子句进行分组计算查询。
    通常来说,一个计算函数的范围是满足WHERE子句指定条件的所有记录。当加上GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。
    本题通过“GROUP BY 职工.部门号”可以先将记录按“部门号”分组,然后再通过函数“SUM(基本工资)”对每组记录求和;另外,在指定分组条件时,因为两个表中都存在相同的字段,即“部门号”,因此要指定分组的字段来自哪个数据表,否则系统出现“部门号不唯一”的错误提示;ORDER BY是对查询结果进行排序的短语,没有分组的功能。

  • 第5题:

    若要在职工表中查找姓名中最后一个字是“静”的职工记录,应该使用的命令是 ( )。

    A.SELECT*FROM 职工 WHERE 姓名 LIKE “?静”

    B.SELECT*FROM 职工 WHERE 姓名 LIKE “*静”

    C.SELECT*FROM 职工 WHERE 姓名 LIKE “!静”

    D.SELECT*FROM 职工 WHERE 姓名 LIKE “-静”


    正确答案:B
    解析:LIKE运算符是字符串匹配运算符,可以用“*”表示0个或多个字符,另外还有一个通配符“?”表示一个字符。选项A是查找名字只有两个字的职工,选项C、D用法不对。