当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机等级考试二级Access辅导笔记:Access查询(5)
发布时间:2010/11/10 11:32:55 来源:城市学习网 编辑:ziteng
  SQL查询的步骤
  首先要建立一个新的查询,然后单击"视图"菜单,选择"SQL视图"命令,这样在屏幕上就出现了一个文本框,用来书写SQL语句.将用到的SQL语句输入完毕后,再单击"视图"菜单,选择"数据表视图"命令 .
  创建表时,一般需要回答以下问题:
  表名是什么
  各列(字段)的名称是什么
  此表包括什么类型的数据等等
  创建表的基本语法如下:
  CREATE TABEL table_name
  (filed1 datatype,
  field2 datatype,
  ………………
  field5 datatype)
  其中datatype可以用以下的类型符定义:
  TEXT:文本型
  MONEY:货币型
  INTEGER:长整型
  DATE:日期型
  FLOAT:双精度型
  LOGICAL:是否型
  MEMO:备注型
  GENERAL:OLE型
  1,用SQL创建表
  例1 创建SQL查询(查询名:SQL查询1),创建表(xjb)构造的xjb的结构如下表
  2
  8
  长度
  备注
  长整型
  是/否
  日期/时间
  文本
  文本
  长整型
  字段类型
  jl
  rxcj
  dyf
  csrq
  xb
  xm
  xh
  字段名
  2,用SQL修改表结构
  在表创建以后,还可以使用ALTER TABEL命令来修改它.即可以增加新字段,修改已有的字段或把表中已有的字段删除掉
  SQL增加字段的语句格式为:
  ALTER TABLE table_name
  ADD field6 datatype
  SQL修改字段的语句格式为:
  ALTER TABLE table_name
  ALTER field2 datatye
  SQL删除字段的语句格式为:
  ALTER TABLE table_name
  DROP field1 datatype
  例2 创建SQL查询(SQL查询2),修改(xjb)中的xh字段的类型,从长整型(INTEGER)改为文本型(TEXT),长度为5.
  例3 创建SQL查询(SQL查询3),在表(xjb)中增加jg字段,其类型为文本,长度为30.
  例4 创建SQL查询(SQL查询4),删除表(xjb)中的jg字段.
  3,用SQL语句维护数据
  用SQL语句不仅可以对表结构进行定义,还可以对表中的数据进行插入,更新,删除等操作,用以维护数据.
  SQL插入记录的语句格式为:
  INSERT INTO table_name(field1,field2,field3……)
  VALUES (value1,value2,value3……)
  SQL更新数据的语句格式为:
  UPDATE table_name SET field1=value1,field2=value2
  WHERE condition
  SQL删除数据的语句格式为:
  DELETE FROM table_name WHERE condition
  例5 创建SQL查询(SQL查询5),给表xjb插入新的记录("99301","王洁","男",#82-5-1#,true,610)
  例6 创建SQL查询(SQL查询6),更新xjb中xm字段的值,条件是xb为"女"的,xm后加"OK".
  例7 创建SQL查询(SQL查询7),删除表xjb中xm为"王洁"的记录.
  更新,追加,删除查询练习:
  (修改UPDATE,添加INSERT,删除DELETE数据)
  练习1:将cjb1中的qzcj都降10分
  练习2:删除xjb中rxcj>600的纪录
  练习3:向xjb中添加以下一条新纪录
  99209 王玉 男 1980-5-10 否 603 原籍吉林
  练习4:将xjb1中rxcj>600的纪录添加到xjb中
  1,UPDATE cjb1
  SET qzcj = [qzcj]-10;
  2,DELETE xjb.*
  FROM xjb
  WHERE rxcj>600;
  3,INSERT INTO xjb
  VALUES ('99209','王玉','男',#1980-5-10#, false, 603, '原籍吉林');
  4,INSERT INTO xjb
  SELECT xjb1.*
  FROM xjb1
  WHERE xjb1.rxcj>600;
  答案: [NextPage]   4,用SQL语句创建选择查询
  SQL语句主要功能就是创建选择查询,使用SQL语句创建简单的选择查询使用的是SELECT语句.大多数SELECT语句包括以下几个成分来描述返回什么样的结果集:
  要查询哪些表,以及表之间的逻辑关系.
  结果集中包含哪些列,即要从表中取出哪些列的数据.
  以何种条件从表中取出数据,即表中的行被包含在结果集中的条件.
  结果集中的行的排列顺序.
  SELECT语句的完整语法
  SELECT [ALL|DISTINCT] select_list
  FROM table_name
  [WHERE search_condition]
  [GROUP BY group_by_expression]
  [ORDER BY order_expression[ASC][DESC]]
  例8 创建选择查询(选择查询1),选择xjb中的xh,xm,xb,rxcj字段
  例9 创建选择查询(选择查询2),选择xjb中xb为"男"的部分字段
  例10 创建选择查询(选择查询3),选择表xjb中xb为"男"的部分字段并以rxcj字段排序(降序)
  用SQL语句创建选择查询练习
  练习1:查询xjb1中男同学的情况
  练习2:查询xjb1中入学成绩在500以下或650以上的同学
  练习3:查询xjb1中出生日期是1981年的同学
  1,SELECT xjb.*
  FROM xjb
  WHERE xb="男";
  答案:
  2,SELECT xjb.*
  FROM xjb
  WHERE rxcj>=650 Or rxcj<=500;
  3,SELECT xjb.*
  FROM xjb
  WHERE csrq Between #1/1/1981# And #12/31/1981#;
  5,创建多表查询
  使用SQL语句创建多表选择查询,就是对表进行"连接"操作,要求多个数据表间要有相互关联的字段.
  语句格式:
  SELECT select_list
  FROM table1 INNER JOIN table2
  ON table1.Column1=table2.column2
  等价于
  SELECT select_list
  FROM table1 ,table2
  WHERE table1.Column1=table2.column2
  例11 创建选择查询(选择查询4),选择xjb1的部分字段,并与cjb1以xh相互关联的字段进行联合查询.要求显示xjb1的xh,xm,xb和cjb1中的qmcj四个字段.
  例12 创建选择查询(选择查询5),将三表(xjb1,cjb1,kcb1)相连,查询xh,xm,kcm,qzcj.
  可以使用SQL语句创建统计分析查询(即汇总查询),就是对表数据根据给定的条件,"筛选"出满足条件的多条记录,进行统计分析,或分组进行计算的操作
  语法:
  SELECT select_list
  FROM table_name
  WHERE search_condition
  GROUP BY group_by_expression
  HAVING search_condition
  HAVING子句用来向使用GROUP BY子句的查询中添加数据过滤准则.
  6,创建统计分析查询
  例13 创建选择查询(选择查询6),查询结果是以xjb1中的xb分组,统计不同性别的rxcj的平均值.
  例14 在cjb1中查看各课程qzcj总分
  SELECT cjb1.kch, Sum(cjb.qzcj) AS 总分
  FROM cjb1
  GROUP BY cjb1.kch;
  例15 在cjb1中查询kch=02的qmcj之和
  SELECT cjb1.kch, Sum(cjb1.qmcj) AS 总分
  FROM cjb1
  GROUP BY cjb1.kch
  HAVING kch="02";
  SELECT 学生.姓名, 学生.入学成绩
  FROM 学生;
  2,查询"学生"表中所有的列
  练习一:写出各题要求的SQL语句
  1, 从学生信息数据库中的"学生"表中查询所有学生的姓名及入学成绩
  SELECT 学生.*
  FROM 学生;
  3,对"学生成绩"表执行总分查询,总分=期中成绩+期末成绩
  SELECT 学生成绩.学号, 学生成绩.期中成绩, 学生成绩.期末成绩, [期中成绩]+[期末成绩] AS 总分
  FROM 学生成绩;
  补充
  练习二:以下SQL语句可以实现什么样的功能
  1,SELECT 图书表.书名, 图书表.作者, 图书表.出版社, 图书表.印数
  FROM 图书表
  WHERE (((图书表.作者)="劳伦斯" Or (图书表.作者)="李四光"));
  2,SELECT 职工情况表.*, [基本工资]+[补贴] AS 应发工资, [应发工资]-[扣发] AS 实发工资
  FROM 职工情况表;
  3,SELECT 职工情况表.*
  FROM 职工情况表
  WHERE (((职工情况表.职称)=[输入待查职称名]));
  作业
  1.填空题
  3.操作题
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved