实验三 数据查询

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三数据查询

【实验目的】

1.学会使用企业管理器查询数据

2.掌握使用SQL语句查询数据

【实验内容】

1.使用企业管理器进行数据查询

2.在查询分析器内使用SQL语句进行数据查询

【实验准备】

1.复习与本次实验内容相关知识

2.复习查询分析器的使用

3.对本次实验中要求自己完成的部分做好准备(第二部分,请预先写出来) 【实验步骤】

1.用企业管理器进行数据查询

o启动企业管理器,注册连接。

o展开服务器-->展开数据库-->展开自己的数据库-->单击表。

o在需要查询的表上单击右键,在弹出的快捷菜单中选择"打开表(O)",其下级菜单即为查询命令:

▪返回所有行(A) --该命令以网格方式显示指定表的所有

记录

▪返回首行(T)... --该命令以交互方式输入要返回的行数

▪查询(Q) --打开查询窗口,以图形方式设计查询

o

o请从学生表(U_STUDENTS)上右击,使用"查询(Q)"命令建立一个查询,请选中学号(ID)、姓名(NAME)两个字段,再单击上面的执行按钮(!按钮)执行查询,查看结果。

o

o再在关系图窗格内右击鼠标在弹出菜单中选择添加表,添加班级表(U_CLASSES),在班级表的ID字段上按下鼠标左键,拖至学生表的CLASS_ID上建立关联,在班级表上选中班级(CLASS)、系

(DEPARTMENT)字段,再在网格窗格上选择姓名(NAME)行上选择

排序类型为"升序"。执行该查询,查看结果。结果如下图所示。

(注意查看SQL窗格内的SQL查询语句)

o

o该操作实现了从班级表、学生表中查询出所有学生的学号(ID)、姓名(NAME)、班级(CLASS_ID)、所在系(DEPARTMENT)的记录

数据。

o关闭企业管理器

2.用SQL语句查询数据

o启动查询分析器

o在查询分析器中分别执行下列查询语句(有的语句请自己写出),体会或说明各语句的功能(请将下面的语句复制到查询分析器,逐条

执行--要执行一条语句请选中该语句再按F5或单击执行铵钮,如

下图所示)。

o--查询学生表

SELECT * FROM U_STUDENTS

SELECT * FROM U_STUDENTS ORDER BY CLASS_ID

--查询成绩表(请体会下列语句的功能)

SELECT * FROM U_SCORES

SELECT * FROM U_SCORES WHERE COURSE_ID=1

SELECT * FROM U_SCORES WHERE

STUDENT_ID='5103210102'

SELECT * FROM U_SCORES WHERE SCORE<60

SELECT * FROM U_SCORES WHERE SCORE<60 AND

COURSE_ID=1

--请比较下面三个语句,并说明其作用。

SELECT TOP 10 * FROM U_SCORES

SELECT TOP 10 * FROM U_SCORES ORDER BY SCORE

SELECT TOP 10 * FROM U_SCORES ORDER BY SCORE DESC

--下面命令将结果存放于TMP_XSB1表中。

SELECT * INTO DBO.TMP_XSB1 FROM U_SCORES WHERE SCORE<60 AND COURSE_ID=1

--请写出查询课程号为2成绩大等于70的学生成绩情况,并将其结果存放于TMP_XSCJ表中(在查询语句中参照上例用INTO DBO.TMP_XSCJ子句)。

--从成绩表中找出有哪些学生(学号)。

SELECT DISTINCT STUDENT_ID FROM U_SCORES

--查询所有学生情况(比较下面的两个语句)。

SELECT A.ID,,B.CLASS,B.DEPARTMENT

FROM U_STUDENTS A INNER JOIN U_CLASSES B ON

A.CLASS_ID=

B.ID

SELECT A.ID,,B.CLASS,B.DEPARTMENT

FROM U_STUDENTS A , U_CLASSES B WHERE

A.CLASS_ID=

B.ID

--查询班号为2的所有学生。

SELECT A.ID,,B.CLASS,B.DEPARTMENT

FROM U_STUDENTS A , U_CLASSES B

WHERE A.CLASS_ID=B.ID AND B.ID=2

--请写出从学生表查询班级为'软件031'的学生情况(学号,姓名,所在班级,所在系),并请将查询结果用INTO子句存放于

DBO.TMP_XSB2表中。

--按班级统计人数。

SELECT CLASS_ID AS 班号,COUNT(*) AS 人数

FROM U_STUDENTS GROUP BY CLASS_ID

--请将上面的语句添加INTO子句,再执行一次并将结果存放于DBO.TMP_XSRS表中。

--查询所有学生成绩(试比较下面的两个语句的不同点,并看看他们的执行结果是否相同)。

SELECT A.ID, , B.COURSE, C.SCORE

FROM U_SCORES C INNER JOIN U_STUDENTS A ON

C.STUDENT_ID = A.ID

INNER JOIN U_COURSES B ON C.COURSE_ID = B.ID

SELECT A.ID,,B.COURSE,C.SCORE

FROM U_STUDENTS A,U_COURSES B,U_SCORES C

WHERE C.STUDENT_ID=A.ID AND B.ID=C.COURSE_ID

相关文档
最新文档