精华内容
下载资源
问答
  • access查询

    2021-07-26 21:39:56
    一、统计每个镇的人数 修改字段名称:修改后的名称:[原名称] 二、统计每个姓的人数 left获取第一个字符 三、分解姓名 四、字符串连接 &用于连接字符 +用于计算数字 ...七、计算平均年龄 字...

    一、统计每个镇的人数

    • 修改字段名称:修改后的名称:[原名称]

    二、统计每个姓的人数

    • left获取第一个字符

    三、分解姓名

    四、字符串连接

    • &用于连接字符
    • +用于计算数字
    • 当链接字符和数字时,使用+,数字会转换成字符

    五、计算总和

    • 当使用+连接两个数字时,会计算两个数字的总和
    • 当使用&连接两个数字时,会发生错误

    六、身份证计算年龄

    七、计算平均年龄

    • 字段内用表达式时,总计内用Expression

    八、每个学生的平均成绩

    • avg计算平均成绩
    • round保留位数

    九、用户输入查询条件

    • 条件内的[]是提示框文字,用户输入的内容会把[]替换掉。
    • 不能输入>80,但可以将条件如图照写

    • 可以使用通配符
    • 条件写在一行表示并且(and)

    • 如下图,查找的是姓周并且语文成绩大于80的同学

    十、条件判断

    • 条件写在一行表示并且(and)
    • 条件不在一行表示或(or)
    • 如下图,查找的是姓周或者语文成绩大于80的同学

    十一、查找性别为男or女的同学

    • 如果是字符,直接输入匹配字符

    • 如下图,查找男生并且语文成绩大于80的同学

    十二、限制范围

    十三、限制日期

    • 用mid获得身份证号的年月日,用连接符&组合起来,连接后的结果是20200211
    • 很当前的日期设置属性,输入掩码格式

    • 输入日期:年-月-日

    • 如下图,输出出生在2000年之后的人

    展开全文
  • 计算机二级access题库答案在文末1.在Access数据库中,一个关系就是一个【 A】。A)二维表 B)记录C)字段 D)数据库综合数据2. 设有部门和员工两个实体,每个员工只能属于一个部门,一个部门可以有多名员工,则部门与...

    d990ac3b95b14ca69826f4bd79893feb.gif

    计算机二级access题库

    答案在文末

    1.在Access数据库中,一个关系就是一个【 A】。

    A)二维表     B)记录

    C)字段     D)数据库 综合数据

    2. 设有部门和员工两个实体,每个员工只能属于一个部门,一个部门可以有多名员工,则部门与员工实体之间的联系类型是【B 】。

    A)多对多     B)一对多

    C)多对一     D)一对一

    3.关系R和关系S的交运算是【C 】。

    A)由关系R和关系S的所有元组合并组成的集合,再删去重复的元组

    B)由属于R而不属于S的所有元组组成的集合

    C)由既属于R又属于S的元组组成的集合

    D)由R和S的元组连接组成的集合

    4.将表A的记录复制到表B中,且不删除表B中的记录,可以使用的查询是【C 】。

    A)删除查询 B)生成表查询

    C)追加查询 D)交叉表查询

    5.  SQL的功能包括【B 】。

    A)查找、编辑错误、控制、操纵     B)数据定义创建数据表、查询、操纵添加删除修改、控制加密授权

    C)窗体X、视图、查询X、页X      D)控制、查询X、删除、增加X

    6.在E-R图中,用来表示实体的图形是【A 】。

    A)矩形 B)椭圆形实体属性     

    C)菱形相互关系           D)三角形

    7.要实现报表的分组统计,其操作区域是【D 】。

    A)报表页眉或报表页脚区域     B)页面页眉或页面页脚区域

    C)主体区域 D)组页眉或组页脚区域

    8.以下不是报表数据来源的是【C 】。

    A)一个多表创建的查询     B)一个表

    C)多个表     D)一个单表创建的查询

    9. 使用宏组的目的是【 D】。

    A)设计出功能复杂的宏            B)设计出包含大量操作的宏 一个宏也可以包含大量操作

    C)减少程序内存消耗        D)对多个宏进行组织和管理 打开一个可以看见全部的宏

    10. SQL的含义是【A 】。

    A)结构化查询语言            B)数据定义语言        

    C)数据库查询语言            D)数据库操纵与控制语言

    11. 下列函数中能返回数值表达式的整数部分值的是【B 】。

    A)Abs(数字表达式)绝对值      B)Int(数值表达式)

    C)Srq(数值表达式)开平方 D)Sgn(数值表达式)

    12. 设关系R和S的元组个数分别为10和30,关系T是R与S的笛卡尔积,则T的元组个数是 C

    A)40     B)100

    C)300   D)900

    13. 要从学生关系中查询学生的姓名和年龄所进行的查询操作属于【B 】。

    A)选择 B)投影

    C)联结 D)自然联结

    14.如果加载窗体,先被触发的事件是【A 】。

    A)Load事件 B)Open事件

    C)Click事件       D)DdClick事件

    15.Access数据库表中的字段可以定义有效性规则,有效性规则是【 C】。

    A)控制符     B)文本

    C)条件 D)前三种说法都不对

    16. 在课程表中要查找课程名称中包含“计算机”的课程,对应“课程名称”字段的条件表达式是【C 】。

    A)"计算机"  B)"*计算机*"

    C)Like"*计算机*"       D)Like"计算机"

    17. 要查询2003年度参加工作的职工,限定查询时间范围的准则为【A 】。

    A)Between #2003-01-01# And #2003-12-31#

    B)Between 2003-01-01 And 2003-12-31

    C)

    D)>#2003-01-01#

    18.VBA程序的多条语句可以写在一行,其分隔符必须使用符号【A 】。

    A) :   B) ‘

    C) ;   D) ,

    19. 假设数据库中表A和表B建立了“一对多”关系,表B为“多”的一方,则下述说法中正确的是【A 】。

    A)表A中的一个记录能与表B中的多个记录匹配

    B)表B中的一个记录能与表A中的多个记录匹配

    C)表A中的一个字段能与表B中的多个字段匹配

    D)表B中的一个字段能与表A中的多个字段匹配

    20. 用SQL语言描述“在教师表中查找女教师的全部信息”,以下描述真确的是【C 】。

    A)SELECT  FROM 教师表 IF (性别="女")

    B)SELECT 性别FROM 教师表 IF (性别="女")

    C)SELECT *FROM 教师表 WHERE(性别="女")

    D)SELECT *FROM 性别WHERE (性别="女")

    21. 若不想修改数据库文件中的数据库对象,打开数据库文件时要选择【B 】。

          A)以独占方式打开      B)以只读方式打开

    C)以共享方式打开       D)打开

    22. 某文本型字段的值只能为字母且长度为6,则可将该字段的输入掩码属性定义为【C 】。

           A)AAAAAA 可是字母和数字    B)LLLLLL 只能是字母

     C)000000 只能是数字且不可以空格       D)999999 数字可空格

    23. 在 SQL 语句中,检索要去掉重复组的所有元组,则在 SELECT 中使用【D 】。

    A)All B)UNION

    C)LIKE   D)DISTINCT

    24. 有SQL语句:SELECT * FROM教师WHERE NOT(工资>3000 OR 工资<2000),与如上语句等价的SQL语句是【A 】。

    A)SELECT*FROM 教师 WHERE 工资 BETWEEN 2000 AND 3000

    B)SELECT*FROM 教师 WHERE 工资 >2000 AND 工资<3000

    C)SELECT*FROM 教师 WHERE 工资>2000 OR 工资<3000

    D)SELECT*FROM 教师 WHERE 工资<=2000 AND 工资>=3000

    25. 以下表达式合法的是【B 】。

    A)学号 Between 05010101 And 05010305

    B)[性别] = "男"Or [性别] = "女"

    C)[成绩] >= 70 [成绩] <= 85

    D)[性别] Like "男"= [性别] = "女"

    26. 在查询设计视图中设计排序时,如果选取了多个字段,则输出结果是【C 】。

    A)按设定的优先次序依次进行排序

    B)按最右边的列开始排序

    C)按从左向右优先次序依次排序

    D)无法进行排序

    27. Access支持的查询类型有【A 】。

    A)选择查询、交叉表查询、参数查询、SQL查询和动作查询

    B)基本查询、选择查询、参数查询、SQL查询和动作查询

    C)多表查询、单表查询、交叉表查询、参数查询和动作查询

    D)选择查询、统计查询、参数查询、SQL查询和动作查询

    28. 以下关于查询的叙述正确的是【C 】。

    A)只能根据数据库表创建查询

    B)只能根据已建查询创建查询

    C)可以根据数据库表和已建查询创建查询

    D)不能根据已建查询创建查询

    29. 下面显示的是查询设计视图的“设计网格”部分, 从所显示的内容中可以判断出该查询要查找的是【 】。(无图,请忽略这题)

    A)性别为“男”并且2000年以前参加工作的记录

    B)性别为“男”并且2000年以后参加工作的记录

    C)性别为“男”或者2000年以前参加工作的记录

    D)性别为“男”或者2000年以后参加工作的记录

    30.把E-R图转换成关系模型的过程,属于数据库设计的【B 】。

    A)概念设计 B)逻辑设计

    C)需求分析 D)物理设计

    31.窗体有3种视图,用于创建窗体或修改窗体的窗口是窗体的【 A】。

    A)“设计”视图     B) “窗体”视图

    C)“数据表”视图  D) “透视表”视图

    32.为窗体中的命令按钮设置单击鼠标时发生的动作,应选择设置其属性对话框的【 D】。

    A) 格式选项卡   B)数据选项卡

    C) 方法选项卡   D)事件选项卡

    33. 能够使用“输入掩码向导”创建输入掩码的字段类型是【C 】。

    A)数字和日期/时间    B)文本和货币

    C)文本和日期/时间    D)数字和文本

    34.若要查询成绩为60-80分之间(包括60分,不包括80分)的学生的信息,成绩字段的查询准则应设置为【B 】。

    A.>60 or <80       B.>=60 And <80   C.>60 and <80       D.IN(60,80)

    35.利用Access创建的数据库文件,其扩展名为 B

    A)ADP  B)MDB

    C)FRM D)DBF

    36. 定义了二维数组 A(2 to 5,5) 该数组的元素个数为【B 】。数组从0开始。

    A)20     B)24

    C)25     D)36

    37. 在 SQL 的SELECT 语句中,用于实现条件选择运算的是【B 】。

    A)FOR  B)WHILE

    C)IF     D)WHERE

    38.不属于Access数据库对象的是【B 】。

    A)表     B)文件

    C)窗体 D)查询

    39.在学生表中,如果要设置性别字段的值只能是男和女,该字段的有效性规则设置应为【A 】。

    A)"男" Or "女"     B)"男" And "女"

    C)="男女"    D)="男" And ="女"

    40.若要求在文本框中输入文本时达到密码“*”号的显示效果,则应设置的属性是【 】。

    A)“默认值”属性       B)“标题”属性

    C)“密码”属性   D)“输入掩码”属性

    41. Access表中字段的数据类型不包括【 】。

    A)文本 B)备注

    C)通用 D)日期/时间

    42. 窗体由多个部分组成,每个部分成为一个【 】。

    A)节     B)段

    C)记录 D)表格

    43. 已知程序段:

    s=0

    For i =1 to 10 step 2

    s = s+1

    i = i * 2

    Next i

    当循环结束后,变量i的值为【 】。

    A)10     B)11

    C)22     D)16

    44. 在数据库中,能维系表之间关联的是【 】。

    A)关键字     B)域

    C)记录 D)外部关键字

    45. 下列选项中错误的变量名是【 】。

    A)cc_地址   B)地址_1

    C)地址1      D)1_地址

    46. 循环结构

          For K=2 To 12 Step 2

               K=2*K

          Next  K

    循环次数为【 】。

    A)1       B)2

    C)3       D)4

    47. 某数据表中有5条记录,其中文本型字段“成绩”各记录内容如下,则升序排序后,该字段内容先后顺序表示为【 】。 (无图请忽略)

    48. 假定窗体的名称为 fmTest,则把窗体的标题设置为“Access Test”的语句是【 】。

    A)Me = “Access Test”    B)Me.Caption = "Access Test"

    C)Me.text="Access Test"    D)Me.Name = "Access Test"

    49. 在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码

      Private Sub Command1_Click()

        a=0:b=5:c=6

        MsgBox a=b+c

      End Sub

    窗体打开运行后,如果单击命令按钮,则消息框的输出结果为【 】。

    A)11     B)a=11

    C)0       D)False

    50.假定有以下程序段

           S=0

           For i=1 to 10

           S=S+i

           Next i

           运行完毕后,S的值是【 】。

    A)0       B)50

    C)55     D)不确定

    二、填空题

    1.在关系数据库中,唯一标识表中每条记录的字段称为       。

    2.数据库系统的三级模式结构由       、       和      组成。

    3.关系模型提供了三种完整性约束,分别是用户自定义完整性、       和      。

    4.窗体中的数据来源主要包括表和       。

    5.函数Now()返回值的含义是     。

    6. 函数Right("计算机等级考试",2)的返回值是       。

    7. 宏是一个或多个       的集合。

    8. 若干同类实体的集合称为        。

    9.         的内容只在报表的最后一页底部打印输出。

    10. 对金额类数据应当采用的数据类型为        。

    11. 控件的      属性用来设置控件所要显示的数据。

    12. 打开一个窗体应该使用的宏操作是        。

    13. 报表标题一般放在       中。

    14. 把主菜单附加到窗体上,要将窗体的       属性值设置为已创建窗体的菜单名。

    15. 设置了表的主键,同时也就创建了表的       。

    16. 选择关系R中的若干属性组成新的关系,并去掉了重复元组,称为        运算。

    17. 动作查询包括生成表查询、新字段查询、删除查询、        、追加查询。

    18. VBA 的3种流程控制结构是顺序结构、        和        。

    19. VBA中用实际参数A和B调用参数过程AREA(m, n)的正确形式是       。

    20. VBA中变量的作用域分为三个层次,这三个层次是全局变量、模块变量、        。

    21. 下面VBA 程序段运行时,内层循环的循环总次数是      。

    For m=0 To 7 step 3

      For n=1 To 3

      Next n

    Next m

    22.在窗体中添加一个命令按钮Command1,编写如下程序代码:

                  Private Sub Command1_Click( )

                         Dim i, j As Integer

                 j = 1

                      For i = 10 To 1 Step -2

                          j = j * i

                      Next i

                      MsgBox j

                  End Sub

    窗体打开运行后,单击该命令按钮,消息框中输出结果为      。

    23. 执行下面的程序段后,b的值为     。

    a = 5

    b = 7

    a = a+b

    b = a-b

    a = a-b

    24. 在名为“Form1”的窗体上增加三个文本框和一个命令按钮,其名称分别为“Text1”、“Text2”、“Text3”和“Command1”,然后编写如下两个事件过程:

    Private Sub Command1_Click()

      Text3=Text1+Text2

    End Sub

    Private Sub Form_load()

      Text1=""

      Text2=""

      Text3=""

    End Sub

    打开窗体Form1后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入 4 和 8 ,然后单击命令按钮 Command1 ,则文本框(Text3)中显示的内容为     。

    25. 在窗体上有一个文本框控件,名称为Text1。同时,窗体加载时设置其计时器间隔为1秒、计时器触发事件过程则实现在Text1 文本框中动态显示当前日期。请补充完整。

    Private Sub Form_load( )

            Me.TimerInterval=1000

    End Sub

    Private Sub             

        Me.Text1=      

    End Sub

      三、写SQL命令

    所涉及到的学生信息管理数据库中包含三个数据表,它们各自的表结构如下:

    学生表:

    字段名  

    类型  

    大小  

    字段名  

    类型 

    大小 

    字段名 

    类型 

    大小 

    学号

    文本

    9

    姓名

    文本

    4

    性别

    文本

    1

    院系

    文本

    10

    出生日期

    日期/时间

    出生地

    文本型

    10

    字段名 

    类型 

    大小 

    字段名 

    类型 

    大小 

    字段名 

    类型 

    大小 

    学号

    文本

    9

    课程编号

    文本

    4

    成绩

    数字

    单精度

    成绩表:

    课程信息表:

    字段名 

    类型 

    大小 

    字段名 

    类型 

    大小 

    字段名 

    类型 

    大小 

    课程编号

    文本

    4

    开课单位

    文本

    10

    课程名称

    文本

    10

     1.查询院系为“会计学院”的学生成绩,显示学号、姓名、课程名称和成绩。 

    2.查询姓“王”学生的基本信息,显示:学号、姓名、性别和年龄,并按学号降序排列。 

    3.统计每一门课程的选修人数,显示:课程编号、学生人数。 

    4.查询平均成绩不及格(<60)的学生信息,显示:显示学号,平均成绩。 

    5.查询不选修课程编号为“C003”的学生,显示:学号、姓名和院系。 

    四、编程

    1. 建立一个子过程A1,在该过程中:用循环结构实现从键盘上输入任意50个实数,求出它们的均值,并通过消息框显示结果。

    2. 建立一个子过程A2,在该过程中实现:对任意10个数按从大到小的顺序进行排序,并通过文本框控件Text0显示排序结果。

    参考答案

     一、单项选择题

    1.A                       2.B                     3.C                  4.C                       5.B

    6.A                       7.D                     8.C                   9.D                      10.A     

    11.B                      12.C                   13.B                 14.A                     15.C

    16.C                      17.A                   18.A                 19.A                      20.C

    21.B                     22.A                   23.D                24.A                     25.B

    26.C                     27.A                   28.C                29.A                     30.B

    31.A                     32.D                  33.C                 34.B                     35.B

    36.B                      37.D                  38.B                 39.A                     40.D

    41.C                     42.A                   43.C                44.D                     45.D

    46.B                     47.B                    48.B                 49.D                     50.C

    二、填空题

    1. 关键字/键

    2. 外模式/用户模式; 概念模式/模式/逻辑模式; 内模式/物理模式

    3. 实体完整性;参照完整性

    4. 查询

    5. 系统当前日期和时间

    6. 考试

    7. 操作或命令

    8. 实体集

    9. 报表页脚

    10. 货币型/Money

    11. 控件来源/Caption/标题

    12. OpenForm

    13. 报表页眉

    14. 菜单栏

    15. 索引

    16. 投影

    17. 更新

    18. 分支/选择;循环

    19. call area(A,B)

    20. 局部变量

    21. 9

    22. 3840

    23. 5

    24. 48

    25. Form_Timer(); Date() / Now()

    三、写SQL命令

    1.Select 学生表.学号,学生表.姓名,课程信息表.课程名称,成绩表.成绩

    From学生表, 课程信息表, 成绩表

    Where学生表.学号=成绩表.学号 and成绩表.课程编号=课程信息表.课程编号 and 学生表.院系=”会计学院”

    2.Select 学号,姓名,性别,year(Date())-year(出生日期) AS 年龄

     From 学生表

    Where 姓名 like“王*”

    Order by 学号 Desc

    3.Selcct 课程编号,count(课程编号或学号或成绩)as 学生人数

    From 成绩表

    Group by 课程编号

    4.Select 学号, avg(成绩) AS 平均成绩

    From 成绩表

    Group by 学号

    Having  avg(成绩)<60

    5.select学生表.学号,学生表.姓名,学生表.院系

    From 学生表,成绩表

    Where 学生表.学号 not in(select 成绩表.学号 from成绩表 where成绩表.课程编号=”C003”)

    四、编程

    1.

    Sub A1()

    Dim M(1 To 50) As Single, s As Single                                 

    Dim n As Single

    For i = 1 To 50                                                    

    M(i) = InputBox("请输入实数")                                 

    s = s + M(i)                                                    

    Next i

      n = s / 50                                                         

    MsgBox ("求得的均值为" & n)                                          

    End Sub

    2.

    Sub A2()

    Dim a(1 To 10) As Integer                                                  

    Dim n As Integer

    For i = 1 To 10

      a(i) = InputBox("请输数值:")                                                

        Next i

     For j = 1 To 10                                                           

       For i = j To 10                                                        

    If a(j) < a(i) Then                                                 

              n = a(i)

              a(i) = a(j)

    a(j) = n                                                           

             End If

           Next i

      Text0.Value = Text0.Value & a(j) & ";"                                     

        Next j

    End Sub

    (以上信息来源网络)

    祝同学们考试 125fd053162ccfbafd346e0f992b0fd0.gif顺利通过 b13fb5264d5a70cc8845518cb30528b1.gif 454bd7eb82d57ad99efac4b6e8299651.gif

    ●C语言|计算机考试选择题

    ●网上流传二级计算机考试命中率最高的92道题

    ●EXCEL 2010常用函数应用

    ●历年计算机二级MS-Office考试真题及答案

    bb42caf52a8f4cd799109e96b32b4830.png

    展开全文
  • Access数据库常用函数如图所示,可根据实际计算需求采用。一、数值分组1、IIF函数语法如下:IIF (表达式,表达式成立时返回的值,表达式不成立时返回的值)。例如:SELECT用户 ID,年龄,IIF(年龄<=20,"20岁及其以下...

    Access数据库常用函数如图所示,可根据实际计算需求采用。

    482814bf81bd3f163346cc40f8f0bde2.png

    一、数值分组

    1、IIF函数语法如下:

    IIF (表达式,表达式成立时返回的值,表达式不成立时返回的值)。例如:

    SELECT用户 ID,年龄,

    IIF(年龄<=20,"20岁及其以下",

    IIF(年龄<=30,"21-30岁",

    IIF(年龄<=40,"31-40岁",

    "40岁以上"))) AS年龄分组

    FROM用户明细;

    2、CHOOSE函数语法如下:

    CHOOSE (参数,结果1,结果2,……,结果N)

    说明:

    ① 参数可为数值或表达式,如果参数或表达式返回的值为1,则函数CHOOSE返回结果1;如果参数或表达式返回的值为2,函数CHOOSE返回结果2,以此类推。

    ② 参数或表达式返回的值必须为1~254的数字,如果小于1或者大于254,则Access数据库将返回错误值“#VALUE!”。

    ③ 如果参数为小数,则在使用前将被截尾取整,即相当于Excel中的lNt函数效果。

    例如:

    SELECT用户ID,年龄,

    CHOOSE((年龄-1)/10+1,"10岁及其以下","11-20岁","21-30岁","31-40岁","40岁以上") AS年龄分组

    FROM用户明细;

    3、SWITCH函数语法如下:

    SWITCH (条件1,结果1,条件2,结果2,……,条件N,结果N)

    说明:

    ① 如果条件1为true,SWltCH将返回结果1,如果条件2为true,SWltCH将返回结果2,以此类推。

    ② 参数由成对的条件表达式和结果值组成,条件表达式按照从左到右的顺序求值,将返回与第一个求值结果为true的表达式相对应的结果值。

    ③ SWltCH函数在SQL语句中的条件表达式最多可以达到14个,如果多于14个表达式,将提示错误。

    ④ 如果所有表达式的结果值都不为true,SWltCH将返回Null。

    例如:

    SELECT用户ID,年龄,

    SWITCH(年龄<=20,"20岁及其以下",

    年龄<=30,"21-30岁",

    年龄<=40,"31-40岁",

    年龄>40,"40岁以上") AS年龄分组

    FROM用户明细;

    4、PARTITION函数语法如下:

    PARTITION (数值参数,开始值,结束值,组距)

    说明:

    ① 数值参数为要根据范围进行计算的整数。

    ② 开始值必须为整数,并且不能小于0。

    ③ 结束值也必须为整数,该数值不能等于或小于开始值。

    ④ 组距也必须为整数,指定在整个数值范围内(在开始值与结束值之间)的分区大小。

    ⑤ PARtltlON返回的内容为每组的“下限:上限”。

    例如:

    SELECT用户ID,年龄,

    PARTITION(年龄,1,100,20) AS年龄分组

    FROM用户明细;

    四个分组比较:

    f54cec3847a5f6a1e02716395da19fc3.png

    二、日期、时间分组

    在Access数据库中,除了可以采用YEAR、MONTH、DAY等常用日期函数进行日期分组外,我们还可以采用FORMAT函数进行日期/时间分组。

    FORMAT函数的语法如下:

    FORMAT(日期/时间,日期/时间格式参数)

    FORMAT函数中日期/时间相关的格式参数说明如图:

    6065facd847b359dbfc71d2acbcc9bb4.png

    例如:

    SELECT订单编号,订购日期,

    FORMAT(订购日期,"yyyy") AS年,

    FORMAT(订购日期,"q") AS季,

    FORMAT(订购日期,"m") AS月,

    FORMAT(订购日期,"d") AS日,

    FORMAT(订购日期,"dddd") AS星期,

    FORMAT(订购日期,"h") AS小时,

    FORMAT(订购日期,"n") AS分,

    FORMAT(订购日期,"s") AS秒

    FROM订购明细;

    展开全文
  • Access教程 第三章 查询

    千次阅读 2008-03-12 12:37:00
    各种查询的建立。◆ 查询的应用。 一、查询的概念 1.什么是查询 查询就是依据一定的查询条件,对数据库中的数据信息进行查找。它与表一样,都是数据库的对象。它允许用户依据准则或查询条件抽取表中的记录与...
    本章内容
     
    ◆ 查询的概念、种类和作用。
    ◆ 各种查询的建立。
    ◆ 查询的应用。
     
     
    一、查询的概念
     
    1 .什么是查询
     
    查询就是依据一定的查询条件,对数据库中的数据信息进行查找。它与表一样,都是数据库的对象。它允许用户依据准则或查询条件抽取表中的记录与字段。 Access 2003 中的查询可以对一个数据库中的一个或多个表中存储的数据信息进行查找、统计、计算、排序等。
     
    有多种设计查询的方法,用户可以通过查询设计器或查询设计向导来设计查询。
     
     
    查询结果将以工作表的形式显示出来。显示查询结果的工作表又称为结果集,它虽然与基本表有着十分相似的外观,但它并不是一个基本表,而是符合查询条件的记录集合。其内容是动态的。
     
    2. 查询的种类
     
    Access 2003 提供多种查询方式,查询方式可分为选择查询、汇总查询、交叉表查询、重复项查询、不匹配查询、动作查询、 SQL特定查询、以及多表之间进行的关系查询。这些查询方式总结起来有4类:选择查询、特殊用途查询、操作查询和SQL专用查询。
     
    3. 查询的作用和功能
     
    查询是数据库提供的一种功能强大的管理工具,可以按照使用者所指定的各种方式来进行查询。查询基本上可满足用户以下需求:
    ◆ 指定所要查询的基本表。
    ◆ 指定要在结果集中出现的字段。
    ◆ 指定准则来限制结果集中所要显示的记录。
    ◆ 指定结果集中记录的排序次序。
    ◆ 对结果集中的记录进行数学统计。
    ◆ 将结果集制成一个新的基本表。
    ◆ 在结果集的基础上建立窗体和报表。
    ◆ 根据结果集建立图表。
    ◆ 在结果集中进行新的查询。
    ◆ 查找不符合指定条件的记录。
    ◆ 建立交叉表形式的结果集。
    ◆ 在其他数据库软件包生成的基本表中进行查询。
    作为对数据的查找,查询与筛选有许多相似的地方,但二者是有本质区别的。查询是数据库的对象,而筛选是数据库的操作。
    下表指出了查询和筛选之间的不同:
     
    功能                                         查询        筛选
    ——————————————————————————————
    用作窗体或报表的基础                         是          是
    排序结果中的记录                             是          是
    如果允许编辑,就编辑结果中的数据             是          是
    向表中添加新的记录集                         是          否
    只选择特定的字段包含在结果中                 是          否
    作为一个独立的对象存储在数据库中             是          否
    不用打开基本表、查询和窗体就能查看结果       是          否
    在结果中包含计算值和集合值                   是          否         
    ——————————————————————————————
     
     
    二、创建查询
     
    用户可以打开数据库窗口,选择【查询】对象,然后单击工具栏中的【新建】按钮,弹出【新建查询】对话框。
     
    1. 简单选择查询
     
    简单选择查询通过简单查询向导来快速完成。
     
     
     
    如果要添加汇总,则进行下一步操作而不选择【明细】。
     
     
     
    下面是汇总选项:
     
     
    如果不用向导设计查询而用查询设计器进行查询设计,并且要在查询中添加汇总选项,则需要手工添加一些汇总函数:
    Sum     求总和
    Avg     平均值
    Min     最小值
    Max     最大值
    Count   计数
    StDev   标准差
    Var     方差
    First   第一条记录
    Last    最后一条记录
     
    2. 交叉表查询向导
     
    交叉表查询以表的形式显示出摘要的数值,例如某一字段的总和、计数、平均等。并按照列在数据表左侧的一组标题和列在数据表上方的另一组标题,将这些值分组,在数据工作表中分别以行标题和列标题的形式显示出来,用于分析和比较。
    例如:产品表如下
     
    要从基本表中得到如下信息:某一类别产品的“库存量”及其“供应商”。
     
    方法步骤图解如下:
     
     
     
     
    3. 查找重复项查询向导
     
    查找重要项查询向导,可以帮助用户在数据表中查找具有一个或多个字段内容相同的记录。此向导可以用来确定基本表中是否存在重复记录。
    如果要得到如下面所示的结果集:
     
     
    则可进行如下操作步骤:
     
     
     
     
     
    4. 查找不匹配项查询向导
     
    查找不匹配项查询向导,是用来帮助用户在数据中查找不匹配记录的向导。如要查找【产品】表中的供应商 ID与【供应商】表中的供应商ID不匹配的记录。步骤分解如下:
     
     
     
     
     
     
     
     
     
    5. 用查询设计器创建查询
     
    使用向导只能建立简单的、特定的查询。 Access 2003 还提供了一个功能强大的查询设计器,通过它不仅可以从头设计一个查询,而且还可能对已有的查询进行编辑和修改。
     
    下图即为查询设计器:
     
    【设计器】主要分为上下两部分,上面放置数据库表、显示关系和字段;下面给出设计网格,网格中有如下行标题:
    ◆ 字段      查询工作表中所使用的字段名
    ◆ 表        该字段所来自的数据表
    ◆ 排序      是否按该字段排序
    ◆ 显示      该字段是否在结果集工作表中显示
    ◆ 条件      查询条件
    ◆ 或        用来提供多个查询条件
     
    上面的工具栏上有如下按钮:
     
     
    ◆ 视图          每个查询有5种视图(设计、数据表、SQL、数据透视表、数据透视图表)
    ◆ 查询类型      选择、交叉表、更新、追加、生成表、删除。
    ◆ 运行          运行查询
    ◆ 显示表        显示所有可用的表
    ◆ 总计          在查询设计区中增加【总计】行,可用于求和、求平均等
    ◆ 上限值        用户可指定显示范围
    ◆ 属性          显示当前对象属性
    ◆ 生成器        弹出【表达式生成器】
    ◆ 数据库窗口    回到数据库窗口
    ◆ 新对象        建立数据库的新对象
     
    6. 用查询设计器进一步设计查询
     
    ⑴ 添加表 /查询
     
    ⑵ 更改表或查询间的关联
    ⑶ 删除表 /查询
    ⑷ 添加插入查询的字段
    ⑸ 删除、移动字段
    ⑹ 设置查询结果的排序
    ⑺ 设置字段显示属性
     
     
    7. 查询及字段的属性设置
     
     
     
    8. 设置查询准则
     
    查询设计视图中的准则就是查询记录应符合的条件。它与在设计表时设置字段的有效性规则的方法相似。
     
    ⑴ 准则表达式
    And             与操作           “A” And “B”
    Or              或操作           “A” Or “B”
    Between…And    指定范围操作     Between “A” And “B”
    In              指定枚举范围     In(“A,B,C”)
    Like            指定模式字符串   Like “A?[A~f]#[!0~9]*”    如:A u D 3 q 98e32ww
     
    ⑵ 在表达式中使用日期与时间
    在准则表达式中使用日期 /时间时,必须要在日期值两边加上“#”。下面写法都是正确的:#Feb12,98#、#2/12/98#、#1221998#。
    相关内部函数:
    Date()      返回系统当前日期
    Year()      返回日期中的年份
    Month()     返回日期中的月份
    Day()       返回日期中的日数
    Weekday()   返回日期中的星期数
    Hour()      返回时间中的小时数
    Now()       返回系统当前的日期与时间
     
    ⑶ 表达式中的计算
    A+B         两个数字型字段值相加,两个文本字符串连接
    A-B         两个数字型字段值相减
    A*B         两个数字型字段值相乘
    A/B         两个数字型字段值相除
    A/B         两个数字型字段值相除四舍五入取整
    A^B         A的 B次幂
    Mod(A,B)    取余, A除以B得余数
    A&B         文本型字段 A和B连接
     
    ⑷ 使用准则表达式生成器
     
     
     
    三、创建特殊用途查询
     
    数据查询未必总是静态地提取统一信息。只要用户把搜索类别输入到一个特定的对话框中,就能在运行查询时对其进行修改。例如:当用户希望能够规定所需要的数据组进,就需要使用一个参数查询。
    另一个特殊用途的查询就是把字段值自动填充到相关表中的“自动查询”查询。“自动查询”查询通过查找用户输入在匹配字段中的数值,并把用户指定的信息输入到相关表的字段中。
     
    1. 参数查询
     
    如用户想要查询价格在 10~30元之间的各种产品,并想知道产品的供应商和产品的类别。这需要向查询设计器中添加【产品】、【供应商】、【类别】三个表。具体步骤如下:
     
    首先打开查询设计器,将数据表添加到上面。
     
    添加字段。并给出条件: Between [输入最低值] And [输入最高值]
     
     
    然后运行,输入两参数:
     
     
    可查看到结果:
     
     
    如要改变参数类型,可打开【查询】 |【参数】对话框来解决:
     
    2. 自动查找查询
     
    自动查询查询使用具有一对多关系的两个表,若要创建一个自动查找查询,首先把两个相关表添加到查询设计窗口,然后把匹配字段从“多”方拖到网格上。这种查询是查找“一”方中的相关记录并从匹配记录中的其他字段检索数值。
    下面创建一个在【供应商】列中选择一个供应商时,自动填充【联系人姓名】、【地址】、【邮政编码】、【电话】的自动查找查询。具体操作如下:
     
     
    运行,在底部通过选择供应商而添加记录,其中“一”方表中的公司名称、联系人姓名、地址、邮政编码、电话等字段将自动加上。而“多”方的产品名称则须人工加上。
     
     
    3. 交叉表查询
     
    交叉表查询是一种特殊的合计查询类型,可以使数据按电子表格的方式显示查询结果集,这种方式在水平与垂直方向同时对数据进行分组,使数据的显示更为紧凑。这一点在前面已讨论过了。
     
    下面我们再创建一个雇员销售订单金额汇总表。由于每一个定单中有多个订单明细产品,所以金额必须求和。所以按订单分组,利用表达式 [数量]*[单价]求和即可,并按雇员分列之。
     
     
     
     
     
    四、操作查询
     
        操作查询用于同时对一个或多个表执行全局数据管理操作。操作查询可以对数据表中原有的数据内容进行编辑,对符合条件的数据进行成批的修改。因此,应该备份数据库。
     
    1. 更新查询
     
    更新查询用于同时更改许多记录中的一个或多个字段值,用户可以添加一些条件,这些条件除了更新多个表中的记录外,还筛选要更改的记录。大部分更新查询可以用表达式来规定更新规则。
    如下表实例:
     
    字段类型     表达式          结果
    ————————————————————————————————————
    货币         [单价]*1.05     把“单价”增加5%
    日期         #4/25/01#       把日期更改为2001年4月25日
    文本         “已完成”      把数据更改为“已完成”
    文本         “总”&[单价]   把字符“总”添加到“单价”字段数据的开头
    是 /否       Yes             把特定的“否”数据更改为“是”
    ————————————————————————————————————
     
     
     
     
    2. 追加查询
     
    当用户要把一个或多个表的记录添加到其他表时,就会用到追加查询。追加查询可以从另一个数据库表中读取数据记录并向当前表内添加记录,由于两个表之间的字段定义可能不同,追加查询只能添加相互匹配的字段内容,而那些不对应的字段将被忽略。
     
     
     
     
     
    3. 删除查询
     
    删除查询是所有查询操作中最危险的一个。删除查询是将整个记录全部删除而不只是删除查询所使用的字段。查询所使用的字段只是用来作为查询的条件。可以从单个表删除记录,也可以通过级联删除相关记录而从相关表中删除记录。
     
    4. 生成表查询
       
    生成表查询可以从一个或多个表 /查询的记录中制作一个新表。在下列情况下使用生成表查询:
    ◆ 把记录导出到其数据库。如创建一个交易已完成的订单表,以便送到其它部门。
    ◆ 把记录导出到 Excel/Word之类的非关系应用系统中。
    ◆ 对被导出的信息进行控制。如筛选出机密或不相干的数据。
    ◆ 用作在一特定时间出现的一个报表的记录源。
    ◆ 通过添加一个记录集来保存初始文件,然后用一个追加查询向该记录集中添加新记录。
    ◆ 用一个新记录集替换现有的表中的记录。
    例如,要以【产品】表为基础,查询出【产品名称】、【类别】、【单价】、【库存量】并生成一个新表:
     
     
     
     
     
     
    五、SQL专用查询
     
    结构化查询语言(即 SQL语言)是最重要的关系数据库操作语言,在过去的几年中,SQL语言已经发展成为标准的计算机数据库语言。
    1986年美国国家标准协会 ANSI(American National Standards Institute)和国际标准化组织ISO(International Standards Organization)颁布了SQL正式标准,同是时确认SQL语言为数据库操作的标准语言,现在已有100多种遍布在从微机到大型机上的数据库产品SQL产品。SQL语言基本上独立于数据库本身及其使用的机器、网络、操作系统,基于SQL的DBMS开发商所提供的产品一般都具有良好的可移植性。
    SQL语言最初由 IBM的研究人员在70年代提出,最初的名称为SEQUEL(结果),从80年代开始改名为SQL,看似是SEQUEL的缩写,但一般又理解为结构化查询语言Structure Query Language。
    下面讨论 1991年ANSI制定的SQL语言的核心。VFP的SELECT-SQL可以据此理解之。
     
    1 .对单个表进行查询
    下面考虑 SQL对单个表进行简单的查询。为了进行实例分析,下面我们先建立三个表:
     
    学生信息表 ST:
    学号 *
    姓名
    主修
    年龄
    100
    JONES
    HISTORY
    21
    150
    PARKS
    ACCOUNTING
    19
    200
    BAKER
    MATH
    50
    250
    GLASS
    HISTORY
    50
    300
    BAKER
    ACCOUNTING
    41
    350
    RUSSELL
    MATH
    20
    400
    RYE
    ACCOUNTING
    18
    450
    JONES
    HISTORY
    24
     
    学生注册表 EN:
    学号 *
    班名
    注册号
    100
    A100
    1
    150
    B200
    1
    200
    A100
    2
    200
    C200
    1
    300
    C100
    1
    400
    B200
    2
    400
    B100
    1
    400
    C200
    2
    450
    B200
    3
     
    面授安排表 CL:
    班名 *
    时间
    教室
    B200
    MTH8
    R001
    A100
    MWF3
    R002
    B100
    MWF8
    R002
    C100
    MWT3
    R003
    C200
    MWF8
    R004
     
    ⑴ 使用 SQL进行投影
    投影是指取表的某些列的字段值。下面是使用 SQL语句进行投影的例子,从ST表中列出需要的学号、姓名和主修:
     
    SELECT 学号,姓名,主修 FROM ST
    学号   姓名         主修
    100    JONES        HISTORY
    150    PARKS        ACCOUNTING
    200    BAKER        MATH
    250    GLASS        HISTORY
    300    BAKER        ACCOUNTING
    350    RUSSELL      MATH
    400    RYE          ACCOUNTING
    450    JONES        HISTORY
     
     
    SELECT 主修 FROM ST
    主修
      HISTORY       
      ACCOUNTING    
      MATH          
      HISTORY       
      ACCOUNTING    
      MATH          
      ACCOUNTING    
      HISTORY 
     
     
    SELECT DISTINCT 主修 FROM ST
    主修
      ACCOUNTING    
      HISTORY       
      MATH 
     
     
    ⑵ 使用 SQL进行选择
    选择是指到表的某些行的记录值。请看下面的例子:
     
    SELECT 学号,姓名,主修,年龄 FROM ST WHERE 主修=‘MATH’
    SELECT * FROM ST WHERE 主修=‘MATH’
     
    学号 姓名         主修             年龄
      200   BAKER        MATH              50
      350   RUSSELL      MATH              20
     
    上述两条件命令的结果是一样的。我们可以将投影和选择进行合并如下:
     
    SELECT 姓名,主修,年龄 FROM ST WHERE 主修=‘MATH’
      姓名        主修            年龄
        BAKER        MATH              50
        RUSSELL      MATH              20
     
    SELECT 姓名,主修,年龄 FROM ST WHERE 主修=‘MATH’AND 年龄>21
      姓名         主修             年龄
        BAKER        MATH              50
     
     
    SELECT 姓名,主修,年龄 FROM ST WHERE 主修 IN(‘MATH’,‘ACCOUNTING’)
      姓名         主修             年龄
       PARKS        ACCOUNTING         19
       BAKER        MATH               50
       BAKER        ACCOUNTING         41
       RUSSELL      MATH               20
       RYE          ACCOUNTING         18
     
    SELECT 姓名,主修,年龄 FROM ST WHERE 主修 NOT IN(‘MATH’,‘ACCOUNTING’)
      姓名         主修             年龄
       JONES        HISTORY            21
       GLASS        HISTORY            50
       JONES        HISTORY            24
     
    ⑶ SQL排序
    SELECT 姓名,主修,年龄 FROM ST WHERE 主修=‘ACCOUNTING’ ORDER BY 姓名
      姓名         主修             年龄
       BAKER        ACCOUNTING         41
       PARKS        ACCOUNTING         19
       RYE          ACCOUNTING         18
    SELECT 姓名,主修,年龄 FROM ST WHERE 主修 IN(‘MATH’,‘ACCOUNTING’)  ORDER BY 姓名 DESC,年龄 ASC
      姓名        主修            年龄
       RYE          ACCOUNTING         18
       RUSSELL      MATH               20
       PARKS        ACCOUNTING         19
       BAKER        ACCOUNTING         41
       BAKER        MATH               50
     
    ⑷ SQL内置函数
    SQL主要提供了前面我们提到的五个内置函数: COUNT、SUM、AVG、MAX、MIN。
    SELECT COUNT (*) FROM ST
      CNT
         8
    上述语句计算表 ST中的行数,并用一行一列表示出来。
    注意:除非和 GROUP BY相连,在查询的项中SELECT后内置函数一般不和字段名一起使用。如下面的查询语句虽然不是非法的,但结果的含义不清:
    SELECT 姓名,COUNT(*)
      姓名        CNT
        JONES        8
    请思考下面的两个查询语句的结果:
    SELECT COUNT (主修) FROM ST
      Cnt_ 主修
         8
     
    ?
    SELECT COUNT (DISTINCT 主修) FROM ST
      DCnt_ 主修
         3
     
    ⑸ SQL内置函数和分组
    为了增强统计内置函数的功能,内置函数可以和分组函数合用,将源表中的数据分组,再对每一分组生成一个汇总行。例如:学生可以按照主修专业进行分组,这意味着每一个专业将形成一个分组,然后可以对每一组进行一定的统计。
     
    SELECT 主修,COUNT(*) FROM ST GROUP BY 主修
      主修              Cnt
    ACCOUNTING         3
    HISTORY            3
    MATH               2
     
    有时,我们不需要得到每一个分组的值,例如,我们对学生按照专业进行分组,然后只需要具有两个以上的行数的分组,在这种情况下,我们需要用到 SQL中的HAVING关键字对不符合条件的分组进行过滤。
     
    下面的 SQL语句可以统计出具有两个以上学生的专业,并统计该专业的学生数。
     
    SELECT 主修,COUNT(*) FROM ST GROUP BY 主修 HAVING COUNT(*)>2
      主修              Cnt
    ACCOUNTING         3
    HISTORY            3
     
    在上面的查询中,还可以对查询的学生进行条件选择,使用关键字 WHERE进行查询,但是这样会产生一定的模糊性,请看下例的结果,分析之:
     
    SELECT 主修,AVG(年龄) FROM ST WHERE 姓名='JONES'
    GROUP BY 主修 HAVING COUNT(*)>1
      主修              Avg_年龄
    HISTORY            22.5
     
    SELECT 主修,AVG(年龄) FROM ST  GROUP BY 主修 HAVING COUNT(*)>2
      主修              Avg_年龄
    ACCOUNTING         26.00
    HISTORY            31.67
     
    SELECT 姓名,主修,AVG(年龄) FROM ST WHERE 姓名 IN('JONES','BAKER')
    GROUP BY 主修 HAVING COUNT(*)>0
      姓名      主修              Avg_年龄
    JONES    HISTORY            22.50
     
    SELECT 姓名,主修,AVG(年龄) FROM ST WHERE 姓名 IN('JONES','BAKER')
    GROUP BY 主修 HAVING COUNT(*)>1
      姓名      主修              Avg_年龄
    BAKER    ACCOUNTING         41.00
    JONES    HISTORY            22.50
    BAKER    MATH               50.00
     
    从上述结果来看,首先选择适合条件的学生,对选择出来的学生进行分组,去除不适合 HAVING条件的分组,显示得到结果。
     
    2 .对多个表进行查询
     
    下面我们将讨论基于两个或更多的表的 SQL查询语句。下面的例子基本上针对ST、CL和EN三个表而言。
    学生信息表 ST:
    学号 *
    姓名
    主修
    年龄
    100
    JONES
    HISTORY
    21
    150
    PARKS
    ACCOUNTING
    19
    200
    BAKER
    MATH
    50
    250
    GLASS
    HISTORY
    50
    300
    BAKER
    ACCOUNTING
    41
    350
    RUSSELL
    MATH
    20
    400
    RYE
    ACCOUNTING
    18
    450
    JONES
    HISTORY
    24
    学生注册表 EN:
    学号 *
    班名
    注册号
    100
    A100
    1
    150
    B200
    1
    200
    A100
    2
    200
    C200
    1
    300
    C100
    1
    400
    B200
    2
    400
    B100
    1
    400
    C200
    2
    450
    B200
    3
    面授安排表 CL:
    班名 *
    时间
    教室
    B200
    MTH8
    R001
    A100
    MWF3
    R002
    B100
    MWF8
    R002
    C100
    MWT3
    R003
    C200
    MWF8
    R004
     
    ⑴ 带有子查询的 SQL查询语句
    假设我们需要知道入学到 A100班的学生的名字,则来通过两个步骤:首先通过条件班名为‘A100’在EN表中找到学生的学号,然后通过上面找到的学号‘100’和‘200’在ST表中找出这些学生的姓名。
    如下面的两个查询语句:
    SELECT 学号 FROM EN WHERE 班名=‘A100’
    学号
    100
    200
    SELECT 姓名 FROM ST WHERE 学号 IN(‘100’,‘200’)
    姓名
    JONES
    BAKER
    我们可以将上述两条语句进行结合就可能直接得到我们需要的结果:
    SELECT 姓名 FROM ST WHERE 学号 IN(SELECT 学号 FROM EN WHERE 班名=‘A100’)
    姓名
    JONES
    BAKER
    我们将第二个查询语句称为子查询( SUBQUERY),它嵌套在主查询的条件中。这种查询方式是很有用的,但要注意子查询的结果与主查询的条件的类型匹配问题。
    对于一般的 SQL查询语句而言,子查询可以嵌套二层以上甚至更多,但VFP对子查询的深度进行了限制。请看下面的语句:
    SELECT CL. 班名 FROM CL WHERE 时间=‘MWF8’
    班名
    B100
    C200
    SELECT EN. 学号 FROM EN WHERE EN.班名 IN(SELECT CL.班名 FROM CL WHERE 时间=‘MWF8’)
    学号
    200
    400
    400
    SELECT ST. 姓名 FROM ST WHERE ST.学号 IN(SELECT EN.学号 FROM EN WHERE EN.班名 IN(SELECT CL.班名 FROM CL WHERE 时间=‘MWF8’))
    结果将提示: SQL:Subquery nesting is too deep
    按正常的理解,其结果应是:
    姓名
    BAKER
    RYE
    也就是下面的语句的结果:
    SELECT ST. 姓名 FROM ST WHERE ST.学号 IN(‘200’,‘400’,‘400’)
    同时通过上述查询,我们得到一个重要的结论, RYE的报名有问题,或要将面授时间作调整,大家可以思考为什么?
     
    ⑵ SQL联接查询
    子查询的结果总是来自一个表,如果同时提供来自不同的表的数据(如每一个学生的学号、姓名、所在班名等),则必须将多个表( ST、EN)相联接。
    请看下面的语句:
     
    SELECT ST. 学号,ST.姓名,EN.班名,EN.注册号 FROM ST,EN WHERE ST.学号=EN.学号
     
    学号   姓名         班名        注册号
    100    JONES        A100         1
    150    PARKS        B200         1
    200    BAKER        A100         2
    200    BAKER        C200         1
    300    BAKER        C100         1
    400    RYE          B200         2
    400    RYE          B100         1
    400    RYE          C200         2
    450    JONES        B200         3
    当然,在 WHERE条件中,可以加上其它的查询结果的限定:
    SELECT ST. 学号,ST.姓名,EN.班名,EN.注册号 FROM ST,EN WHERE ST.学号=EN.学号 AND ST.姓名=‘RYE’ AND EN.注册号=‘2’
    学号   姓名         班名        注册号
    400    RYE          B200         2
    400    RYE          C200         2
     
    如果结果来自于两个以上的表,我们可以使用相仿的方法,如下例:
    SELECT ST. 学号,CL.班名,CL.时间,EN.注册号 FROM ST,EN,CL WHERE ST.学号=EN.学号 AND EN.班名=CL.班名 AND ST.姓名=‘BAKER’
    学号   班名         时间        注册号
    200    A 100         MWF3         2
    200    C 200         MWF8         1
    300    C 100         MWT3         1
     
    3. 回顾专用查询
     
    在专用查询中,使用了除 SELECT以外的其它几个操作语句:UPDATE、INSERT INTO、DELETE、SELECT INTO等等。
     
     
    展开全文
  • Access数据库表四舍五入查询的实现

    千次阅读 2014-03-18 20:41:51
    前几天遇到了需要对Access数据库的表某字段的数据四舍五入的问题,最终查到了用format命令,详细命令和最终执行结果如下。 SELECT format(Y1,"######.##"),Y1 FROM LineTable;表名为LineTable,原始数据中有一部分...
  • 摘要:VB源码,数据库应用,聚集函数 利用聚集函数AVG求某班学生的平均年龄,VisualBasic6.0程序源码,求出本班学生的平均年龄,数据来自于Access数据库,数据读出后利用聚集函数AVG求平均年龄
  • VBA-一些查询实例(access

    万次阅读 2018-07-26 08:43:06
    '提取出年龄比平均年龄大的员工信息 'sql = "select 姓名,性别,年龄,职务,部门 from 员工 where 年龄>(select avg(年龄) from 员工)" '查询年龄排在5-10 名的员工信息 sql = "select top 6 姓名,性别,年龄,职务,...
  • 利用聚集函数AVG求某班学生的平均年龄,可以计算摸一个班学生平均年龄
  • Access笔记

    2015-07-09 10:27:23
    select avg(CH4) from GasDataTable --求字段的平均值 select stdev(CH4) from GasDataTable --求字段的标准差 select last(CH4) from GasDataTable --求字段的最后一个值 select max(CH4) from ...
  • (3)创建一个查询,查找年龄小于平均年龄的学生,并显示其“姓名”,所建查询名为“qT3”; (4)创建一个查询,将所有学生的“班级编号”、“姓名”、“课程名”和“成绩”等值填入“tSinfo”表相应字段中,其中“班级...
  • 同济大学access答案完美版,个人原创,提交后全是满分INSERT INTO TeachersVALUES ("600001", "杨梦", "女", 64, #4/22/1966#, YES, 1660, 210);DELETE *FROM teachersWHERE 年龄<36 and 性别="女";UPDATE teachers...
  • 下半年的计算机等级考试已经快到了,对于Access上机考试准备的怎么样?出国留学网计算机等级考试栏目为大家分享“2016计算机二级Access上机考点解析”,希望对您有所帮助。2016计算机二级Access上机考点解析1、 :"010...
  • 大学计算机基础access实验学生实验报告实验课名称:大学计算机实验项目名称:数据库技术基础(Access)专业名称:班级:学号:学生姓名:教师姓名:2017年11月21日实验日期: 2017 年 11 月 21 日 实验室名称:一....
  • 大学计算机基础access实验.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.90 积分学生实验报告实验课名称:大学计算机 实验项目名称:数据库技术基础...
  • 同济大学大学计算机access作业答案有一个数据库Test-5.mdb,其中有表Teachers和Students,他们的结构如下表所示,请写出有关的SQL命令。点击下载Test-5.mdb数据库第一题: 在表Teachers中插入一条新的记录:600001 ...
  • 计算机二级考试考生不受年龄、职业、学历等背景的限制,任何人均可根据自己学习和使用计算机的实际情况报考。下面是小编整理的关于全国计算机二级考试Access试题,希望大家认真阅读!一、选择题1). Access 表结构中,...
  • 计算机二级access题库大全.doc全国计算机等级考二级ACCESS题库大全一、单项选择题1在Access数据库中,一个关系就是一个【 A】。A)二维表 B)记录C)字段 D)数据库综合数据2. 设有部门和员工两个实体,每个员工只能属于...
  • 出国留学网计算机等级考试网为大家提供计算机等级考试二级Access模拟题,更多计算机等级考试资讯请关注我们网站的更新!基本操作:在考生文件夹下,"samp1.mdb"数据库文件中已建立三个关联表对象(名为"职工表"、"物品...
  • access设计视图

    2021-07-26 21:39:19
    dateserial(年,月,日),如:显示本年度的9月1日,dateserial(year(date(),9,1)) year(date())-year([出生日期])系统时间的年份-出生日期的年份=年龄 计算平均年龄,保留整数round(avg(year(date())-year([出生日期])...
  • Access界面基础操作

    2015-12-15 19:17:00
    Access界面基础操作 1. 显示表 2. 条件“或” 3. like通配符 4. 字段计算 5. 交叉表 6. Top 7. In 和 Between的使用 8. Is Null 9. Like 10. 排序 11. Inner Join 12. 合计函数 13. Broup by ...
  • 计算机二级access操作题考点总结.pdf (31页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!11.90 积分1、 :"010 -" 部分自动输出,后八位为 0 到 9 的数字显示。2、 ...
  • “学生表”中有“学号”、“姓名”、“性别”和“入学成绩”等字段。执行如下SQL命令后的结果是...计算并显示所有学生的平均入学成绩B.计算并显示所有学生的性别和平均入学成绩C.按性别顺序计算并显示所有学生的平均...
  • 系统功能表2.ess2003数据库,共有7个关键字,包括序号,名称,别名,体型,毛型,平均寿命,详细介绍,共有三组数据。在VB6.0中设计好相应界面和代码后,首先是登陆界面,必须输入系统正确的用户名和密码才能够进入,用户名是...
  • Access中的基础SQL操作

    千次阅读 2018-04-05 15:09:10
    SQL是一种结构化查询语言,集数据定义、数据查询、数据操纵、数据控制功能于一体。定义create、drop、alter查询select操纵inster、update、delete控制crant、revote【实例一:图书管理数据库】假设我们有一个图书...
  • 4. (1) 设计视图:输入全体学生平均年龄: Avg(Year(Date())-Year([出生日期]))SQL查询SELECT Avg(Year(Date())-Year([出生日期])) AS 全体学生平均年龄FROM 学生; (2)SELECT 学生.学号, 学生.姓名, 学生.籍贯, ...
  • Access,SQL

    2017-05-11 09:23:23
     AVG 获取特定字段中的值的平均数 COUNT 返回选定记录的个数 SUM 返回特定字段中所有值的总和 MAX 返回指定字段中的最大值 MIN 返回制定字段中的最小值 select count(*) as 学生人数 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,761
精华内容 1,904
关键字:

access查询平均年龄