实验二查询设计

合集下载

数据库原理及应用 数据库查询 实验二

数据库原理及应用 数据库查询 实验二

《数据库原理及应用》实验报告实验名称数据库查询实验室502 实验日期求选修了课程的学生学号。

Use 学生课程GoSelect 学号from 学生where 学号in (select 学号from where 课程号 is not null)求选修1102课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。

Use 学生课程GoSelect 学号,成绩 from 课程,选课 where 课程.课程号and 课程号=1102 order by 成绩 desc,学号 asc求选修课程1102且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。

Use 学生课程GoSelect 学号,成绩*0.8 as 成绩 from选课 where 成绩 between 80 and求数学系或计算机系姓张的学生的信息。

Use 学生课程GoSelect * from 学生,课程,选课 where 学生.学号=选课.学号 and 课程号=课程.课程号and 姓名like ’张%’and (所在系=’数学’在系=’计算机’)求缺少了成绩的学生的学号和课程号。

Use 学生课程GoSelect 学号,课程号 from 选课 where 成绩 is null连接查询实验语句在“学生选课”数据库中实现下列数据连接查询操作。

查询每个学生的情况以及他(她)所选修的课程。

Use 学生课程GoSelect * from 学生,选课,课程 where 学生.学号=选课.学号课程号=课程.课程号求学生的学号、姓名、选修的课程名及成绩。

Use 学生课程GoSelect 学号,姓名,课程名,成绩 from 学生,选课,课程 where学生求选修1105课程且成绩为90分以上的学生学号、姓名及成绩。

Use 学生课程GoSelect 学号,姓名,成绩 from 学生,选课 where 学生.学号=选课and 课程号=1105 and 成绩>90查询每门课的选课人数。

《数据库》实验二SQL查询代码

《数据库》实验二SQL查询代码
)
)
)
);
Q23. List the names of managers who have at least one dependent.
查询至少有一个家属的部门经理姓名。
SELECT FNAME,LNAME FROM EMPLOYEE
WHERE SSN IN (
ORDER BY FNAME ASC;
Q2. 查询不重复的员工工资值。
SELECT DISTINCT SALARY FROM EMPLOYEE
Q3. 查询没有直接上司的员工姓名。
SELECT FNAME,LNAME FROM EMPLOYEE
WHERE SUPERSSN IS NULL;
查询至少参与了所有John Smith参与项目的员工姓名。
SELECT FNAME,LNAME FROM EMPLOYEE
WHERE SSN IN (
SELECT ESSN FROM WORKS_ON
WHERE PNO=ANY (
SELECT PNUMBER FROM PROJECT
Q16. Select all combinations of EMPLOYEE SSN and DEPARTMENT DNAME in the Company database.
查询Company数据库中所有员工SSN与DNAME(部门名称)的组合。
SELECT E.SSN,D.DNAME
WHERE SALARY>=30000 GROUP BY D.DNAME
HAVING COUNT(SALARY)>=2;
Q18. Retrieve the names of all employees who do not work on any project controlled by department number 5.

SQL实验二:数据库查询实验报告

SQL实验二:数据库查询实验报告

SQL实验⼆:数据库查询实验报告实验⼆数据库的查询实验⼀、实验⽬的和要求(1)掌握SQL Server查询分析器的使⽤⽅法,加深对SQL和Transact-SQL语⾔的查询语句的理解。

(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作⽅法。

(3)熟练掌握数据查询中的分组、统计、计算和组合的操作⽅法。

⼆、实验内容和原理在实验⼀定义的“学⽣成绩数据库”中,使⽤T-SQL语句完成以下查询:(1)求计算机系学⽣的学号和姓名。

(2)求选修了数学的学⽣学号、姓名和成绩。

(3)求选修01课程的学⽣学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

(4)查找选修课程的平均成绩位于前三名的学⽣的学号。

(5)查询计算机系的姓刘且单名的学⽣的信息。

(6)查询⾄少选修两门课程的学⽣学号。

(7)查询学⽣的学号、课程号以及对应成绩与所有学⽣所有课程的最⾼成绩的百分⽐。

(8)查询选修“数据库”课程,且成绩在80分以上的学⽣的学号和成绩。

(9)查询所有姓“王”的同学没有选修的课程名。

(请分别⽤exists和in完成该查询)(10)查询选修了全部课程的学⽣的姓名。

(请⾄少写出两种查询语句)(11)求选修了学⽣“95001”所选修的全部课程的学⽣学号和姓名。

(12)查询每⼀门课的间接先修课。

(13)列出所有学⽣所有可能的选课情况。

(14)列出每个学⽣的学号及选修课程号,没有选修的学⽣的学号也⼀并列出。

(15)输出与“张三”同性别并位于同⼀个系的所有同学的姓名。

(请⾄少写出两种查询语句)(16)查询⾄少被两名男⽣选修的课程名。

(17)对被两名以上学⽣所选修的课程统计每门课的选课⼈数。

要求输出课程号和选修⼈数,查询结果按⼈数降序排列;若⼈数相同,按课程号升序排列。

(18)列出选修课程超过3门的学⽣姓名及选修门数。

(19)检索⾄少选修课程号为01和03的学⽣姓名。

(20)检索⾄少选修课程“数学”和“操作系统”的学⽣学号。

VF实验二关联、查询和数据库

VF实验二关联、查询和数据库

实验二关联、查询和数据库实验2-1 多表关联与查询实验目的:〔1〕理解关联的概念,掌握在数据工作期窗口中建立关联的方法。

〔2〕掌握SELECT-SQL查询命令。

〔3〕掌握用查询设计器建立查询的方法。

实验要求:〔1〕在数据工作期窗口上建立以“订单〞为父表,“订单明细〞为子表的一多关系;再建立以“订单明细〞为父表,“货物〞为子表的多一关系的二级关联。

然后查看关联后的效果。

〔2〕用SELECT-SQL命令对上述5个表作多表查询练习。

①查询联系“东南实业〞公司的员工**及联系。

②查询订购麻油的订单份数。

〔3〕用查询设计器查询公司订货情况。

实验步骤:〔1〕为“关联〞建立索引:为订单表的订单号字段建立索引,再为货物表的货号字段建立索引。

1)翻开“订单明细表〞在命令窗口里输入命令:INDE* ON 订单号 TAG ddh,执行命令就为该表建立了索引,翻开表生成器查看如下:图中显示了索引,默认是升序的。

2〕同样的方法,翻开“订单明细表〞在命令窗口里输入命令:INDE* ON 货号 TAG hh,执行命令就为该表建立了索引,〔2〕建立关联:过程方法:1〕翻开数据工作期窗口→分别用“翻开〞按钮翻开订单表、订单明细表和货物表→在“别名〞列表框中选定“订单〞,单击“关系〞按钮→在“别名〞列表框中选定“订单明细〞→随即弹出“设置南索引顺序〞对话框,其列表框中显示“订单明细.订单号〞。

选定“确定〞按钮→随即弹出“表达式生成器〞对话框,其SET RELATION框中显示“订单号〞。

选定“确定〞按钮,多一关系建立完成→选定“一对多〞按钮→在随即弹出的“创立一对多关系〞对话框中→选定“确定〞按钮,一多关系建立完成。

显示的表达式生成器如下:2)在“别名〞列表框中选定“订单明细〞→为确定以订单明细表为父表建立下一级关联,在“关系〞列表框中也选定“订单明细〞→单击“关系〞按钮→在“别名〞列表框中选定“货物〞→在随即弹出的“设置索引顺序〞对话框中选定“确定〞按钮→在“表达式生成器〞对话中选定“确定〞按钮,多一关系建立完成,如图下列图所示:〔3〕查看关联效果:分别“订单〞、“订单明细〞和“货物〞浏览窗口,并按左中右顺序排列→选定“订单〞表的*个记录,“订单明细〞和“货物〞浏览窗口的内容即会关联变化,如下列图所示。

实验2 序列查询(Entrez)、BLAST序列相似性搜索

实验2 序列查询(Entrez)、BLAST序列相似性搜索

实验二:序列查询(Entrez)、BLAST序列相似性搜索实验目的:1.学会用Entrez系统查找目标序列2.学会使用BLAST在数据库中搜索相似序列3.学会分析数据库搜索结果实验内容:一、EntrezEntrez是一个由NCBI创建并维护的基于Web界面的综合生物信息数据库检索系统。

用户不仅可以方便地检索Genbank的核酸数据,还可以检索来自Genbank和其它数据库的蛋白质序列数据、基因组图谱数据、来自分子模型数据库(MMDB)的蛋白质三维结构数据、种群序列数据集、以及由PubMed获得Medline的文献数据。

网址:/Entrez/(或在NCBI主页默认All Databases时点击搜索框右边的Search进入)。

如Figure 2.1所示:Figure 2.1 entrez 检索系统子数据库点击搜索框右边的help按钮,即可进入Entrez帮助页面。

在搜索栏输入你要查找的关键词,点击“GO”即可开始搜索。

如果输入多个关键词,它们之间默认的是“与”(AND)的关系。

Tips:搜索的关键词可以是一个单词,短语,句子,数据库的识别号,基因名字等等,但必须明确,不能是“gene”, “protein”等没有明确指向的词语。

但“transcription factor”这样有一定范围的词是可以接受的。

可以用你感兴趣的领域的专业术语,也可以是非专业术语,比如:h1n1,lung cancer,albinism; subtilism, peroxidase, myoglobin。

 输入关键词,点击“GO”之后,每个数据库图标前方出现了数字,代表的是在相对应的数据库里搜索到的条目数。

点击进入对应的数据库,可以查看搜索到的条目。

如果在数据库图标前面为灰色,显示“none”,说明在对应的数据库里没有搜索到任何结果。

也可以直接通过NCBI任一页面上的搜索栏进行Entrez搜索。

点击“search”后面的下拉菜单,选择数据库,在下面的文本框里输入关键词,点击“Search”即可(Figure 2.2)。

数据库实验二数据查询

数据库实验二数据查询

实验4 数据查询一、实验目的1.掌握SELECT语句的基本语法和查询条件的表示方法;2.掌握连接查询的表示方法;3.掌握嵌套查询的表示方法;4.掌握数据汇总的方法;5.掌握ORDER BY子句的作用和使用方法;6.掌握HAVING子句的作用和使用方法;二、实验内容使用SELECT查询语句,在数据库StudentCourse的Student表、Course 表和StuCourse 表上进行各种查询,包括单表查询、连接查询、嵌套查询,并进行数据汇总,以及使用GROUP BY子句、ORDER BY子句和HAVING子句对结果进行分组、排序和筛选处理。

1.SELECT语句的基本使用;2.连接查询;3.嵌套查询;4.数据汇总;5.使用GROUP BY 子句对结果分组;6.使用ORDER BY子句对结果排序;7.使用HAVING子句对分组结果进行筛选;思考与练习:1.用SELECT语句查询Course表和StuCourse表中的所有记录。

SQL语句:select * from Course;select * from StuCourse;实验结果:2.用SELECT语句查询Course表和StuCourse表中满足指定条件的一列或若干列。

SQL语句:select 课程号,课程名 from Course where 学分=5;select 学号,课程号 from StuCourse where 成绩>80;实验结果:3.查询所有姓名中包含有“红”的学生的学号及姓名。

SQL语句:select 学号,姓名 from Student where 姓名 like '%红%';实验结果:4.用连接查询的方法查找所有选修了“2001” 或“1002”号课程的学生学号和姓名。

SQL语句:selectdistinct Student.学号,姓名from StuCourse,Studentwhere(课程号='1002'or 课程号='2001')and StuCourse.学号=Student.学号;实验结果:5.用子查询的方法查找所有选修了“2001”或“1002”号课程的学生学号和姓名。

数据库原理实验2数据查询

数据库原理实验2数据查询

课程名称数据库原理实验序号 2实验项目数据查询实验地点实验学时实验类型验证性指导教师实验员专业班级学号姓名年月日成绩:A教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。

四、实验过程(实验步骤、记录、数据、分析)实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。

一、简单的选择与投影查询1、无条件查询1.1查询全体学生的详细记录。

这是一个无条件的选择查询,其命令为:其命令为:select * from students运行结果如右图,显示整张表的内容。

1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(dno)。

这是一个无条件的投影查询,其命令为:select sname,ssexfrom students运行结果如右图,显示了表中的三列。

1.3查询全体学生的姓名(Sname)、出生年份及学号(Sno)。

其命令为:select sno,sname,2017-sage as birth from students运行结果如右图,显示了三列内容。

1.4查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。

其命令为:select sname,'birth:' title,YEAR(GETDATE())-sagebirthyear,LOWER(sno) lsnofrom students运行结果如右图,显示了四列内容。

1.5查询选修了课程的学生学号。

其命令为:select distinct snofrom reports运行结果如右图,distinct短语是为了消去查询结果中的重复值。

2、条件查询(1)比较条件1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。

其命令为:select sno,snamefrom studentswhere dno='d03'运行结果如右图,显示了d03系的全体学生姓名与学号。

实验二查询部分及查询作业答案

实验二查询部分及查询作业答案

实验二. 数据库查询Student表:列名含义数据类型约束Sno 学号字符串,长度为7 主码Sname 姓名字符串,长度为10 非空Ssex 性别字符串,长度为2Sage 年龄整形Sdept 所在系字符串,长度为20Course表:列名含义数据类型约束Cno 课程号字符串,长度为10 主码Cname 课程名字符串,长度为20 非空Ccredit 学分字节Semester 学期字节SC表:列名含义数据类型约束Sno 学号字符串,长度为7 主码引用Student的Sno作为外码Cno 课程号字符串,长度为10 主码引用Course的Cno作为外码Grade 成绩小整形XKLB 修课类别字符串,长度为4 请写明创建以上三张基本表的语句。

3.将如下数据插入建好的三张表中。

Student表学号姓名性别年龄所在系'9512101','李勇','男',19,'计算机系''9512102','刘晨','男',20,'计算机系''9512103','王敏','女',20,'计算机系''9521101','张立','男',22,'信息系''9521102','吴宾','女',21,'信息系''9521103','张海','男',20,'信息系''9531101','钱小平','女',18,'数学系''9531102','张大力','男',19,'数学系'Course表课程号课程名学分学期'c01','计算机文化学',3,1'c02','VB',2,3'c03','计算机网络',4,7'c04','数据库基础',6,6'c05','高等数学',8,2'c06','数据结构',5,4SC表学号课程号成绩修课类别'9512101','c01',90,'必修''9512101','c02',86,'选修''9512101','c06',null,'必修''9512102','c02',78,'选修''9512102','c04',66,'必修''9521102','c01',82,'选修''9521102','c02',75,'选修''9521102','c04',92,'必修''9521102','c05',50,'必修''9521103','c02',68,'选修''9521103','c06',null,'必修''9531101','c01',80,'选修''9531101','c05',95,'必修''9531102','c05',85,'必修'请写明使用的数据插入语句。

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

Access数据库程序设计
实验报告
实验二查询设计
班级:
姓名:
学号:
实验二查询设计
【实验目的】
1.掌握选择查询的基本方法
2.掌握参数查询的基本方法
3.了解交叉表查询
【实验内容】
1.利用“查找不匹配项查询向导”查找从未借过书的读者的借书证号、姓名、部门和办证日期,查询对象保存为“未借过书的读者”。

2.利用“查找重复项查询向导”查找同一本书的借阅情况,包含书号、借书证号、借书日期和还书日期,查询对象保存为“同一本书的借阅情况”。

3.利用“交叉表查询向导”查询每个读者的借书情况和借书次数,行标题为“借书证号”,列标题为“书号”,按“借书日期”字段计数。

查询对象保存为“借阅明细表”。

4.创建一个名为“法律系借书情况”的查询,查找法律系读者的借书情况,包括借书证号、姓名、部门、书名和借书日期,并按书名排序。

5.创建一个名为“按图书查询”的参数查询,根据用户输入的书名查询该书的借阅情况,包括借书证号、姓名、书名、作者、借书日期和还书日期。

6.创建一个名为“价格总计”的查询,统计各出版社图书价格的总和,查询结果中包括出
版社和价格总计两项信息,并按价格总计项降序排列。

7.创建一个名为“借书超过60天”(还书日期—借书日期>60)的查询,查找借书人的姓名、借书证号、书名、借阅时间等信息。

8.创建一个名为“已借出图书”的查询,查找尚未归还的图书的书号、书名和借书日期。

9.创建一个名为“查询部门借书情况”的生成表查询,将“法律系”和“英语系”两个部门的借书情况(包括借书证号、姓名、部门、书号)保存到一个新表中,新表的名称为“部门借书登记”。

10.创建一个名为“添加部门借书情况”的追加查询,将“人事处”读者的借书情况添加到“部门借书登记”表中。

11.创建一个名为“删除部门借书情况”的删除查询,将“英语系”读者的借书情况从“部门借书登记”表中删除。

12.将“读者”表复制一份,复制后的表名为“读者copy”,然后创建一个名为“更改部门”的更新查询,将“读者copy”表中部门为“人事处”的字段值改为“教务处”。

相关文档
最新文档