数据库系统原理实验报告_SQL查询语句

合集下载

实验二 SQL语句查询

实验二 SQL语句查询

SQL语句查询练习实验报告一、实验项目名称SQL查询语句练习二、实验目的熟练掌握SQL查询语句,能够运用该语句完成各种查询。

三、实验环境1.硬件:网络实验室2.软件:Windows98/2000等操作系统,安装SQL Server 2000个人版或企业版四、实验内容book(总编号,分类号,书名,作者,出版社,单价,是否在库)图书数据表bookreader(借书证号,单位,姓名,性别,年龄,职称,地址)读者数据表readerborrow(借书证号,总编号,借书日期,还书日期)例题1:创建名为bookstore的数据库删除名为bookstore的数据库3.建立基本表reader(借书证号,单位,姓名,性别,年龄,职称,地址)4.删除基本表reader5.为book表在总编号上建立聚集索引6.删除book表在总编号上建立的索引7.在book表的基础,建立book_w视图,包含总编号,分类号,书名,作者8.删除视图book_wCREATE DATABASE bookstoreDROP DATABASE bookstoreCREATE TABLE reader(借书证号,单位,姓名,性别,年龄,职称,地址)DROP TABLE readerCREATE CLUSTER INDEX all_number ON book(总编号)DROP INDEX book.all_numberCREATE VIEW book_w as select 总编号,分类号,书名,作者 from book DROP VIEW book_w例题2:1.查询单位为“化工系”的读者的借书证号、姓名、职称。

2.查询单位为“化工系”或“数学系”,职称为“讲师”的读者的姓名及单位。

3.查询单价在10~20元之间的图书的书名、作者、出版单位、单价。

4.查询单位为“外语系”或“建工系”读者的姓名、单位、职称。

5.查询所有姓刘的读者的姓名、单位。

数据库原理查询语句格式实验报告

数据库原理查询语句格式实验报告

数据库原理实验报告题目:查询语句的格式院系:计算机科学与工程学院班级:姓名:学号:一、实验题目查询语句的格式二、实验目的掌握嵌套查询语句的运用;了解如何应用sql语句有选择地查看所需数据,并熟悉通过sql语句更改数据表中数据的方法。

三、实验要求1)从表中选择出工资在2500元以上的员工的姓名和所属部门。

2)统计平均工资。

3)“刘燕”要离职,请删除她的所有信息。

四、实验环境WindowXP、SQL Server2000五、实验内容1.书写语句查询每个部门的平均工资,结果按照平均工资的多少排序SELECT 所属部门,A VG(工资)FROM 员工数据表GROUP BY 所属部门ORDER BY A VG(工资);2.使用外向联接输出所有的员工姓名和负责人的项目名称SELECT员工数据表.姓名,项目数据表.名称FROM 员工数据表LEFT JOIN项目数据表ON员工数据表.编号=项目数据表.负责人;3.使用子查询输出所有负责CCH公司项目(以CCH开始)的员工姓名,以及没有负责REALIDEA公司(以REALIDEA开始)项目的员工姓名。

SELECT 姓名FROM 员工数据表WHERE 编号IN(SELECTDISTINCT 负责人FROM 项目数据表WHERE 名称LIKE'CCH%')SELECT 姓名FROM 员工数据表WHERE 编号NOT IN(SELECT DISTINCT 负责人FROM 项目数据表WHERE 名称LIKE'REALIDEA%');六、实验结果七、实验心得1、此次上机实践主要是在第一次的基础上实现对表的各种SQL语句的查询等操作;2、上机实践给了我们更多自由发挥和验证自己思路的机会,并由此帮助我们发现平时的问题和思维上的不足,促进我们更好地学习数据库这门课程。

数据库实验报告-SQL语句查询

数据库实验报告-SQL语句查询

《数据库原理》实验报告(实验名称:SQL查询语句)一、实验目的数据查询语句是SQL语句的重要组成部分,是编程人员与数据库管理人员必不可少的工具,通过实验达到以下目的:(1)掌握SELECT 语句的基本语法,加深学生对查询语句基本概念的理解。

(2)掌握简单的单表查询。

(3)掌握连接查询。

二、实验内容:实验数据:实验二所建的数据库及表,实验三录入表中的数据。

1、简单查询(1)若干列或行的选择(2)*、distinc、between…and… 、 in、 like等运算符的使用(3)计算列、常量或空值的查询(4)查询结果排序和分组2、连接查询(1)内连接和自身连接(2)外连接(3)复合条件连接(4)多表连接(5)对表和列使用别名三、实验环境SQL server 2000,pc机一台四、程序源码与运行结果1.查询所有学生的全部信息2. 查询全体学生的学号与姓名3 查询年龄在20岁以下的学生姓名及其出生年份,并为出生年份加上标题4 查询选修了课程的学生学号,并消除重复行5 查询年龄在20~23岁的学生信息(用between… and…表示查询条件)6 查询全体学生情况,查询结果按班级编号升序排列,同一班的学生按年龄降序排列7 查询所有姓赵学生的姓名、学号和性别8 查询名字中第2个字为“小”字的学生姓名9 查询电气信息工程学院(dx) 和计算机学院(jsj)的学生(要求:使用IN关键字表示查询条件10 查询没有考试成绩的学生学号和课程号11 查询有2门以上课程是90分以上的学生的学号及(90分以上的)课程数(先用group by 分组,再用Having限定分组条件)12 查询学生总人数13 查询学号为‘’学生的平均成绩和总成绩,并为总成绩和平均成绩取别名。

14 查询c01号课程的最高分数和最低分15 查询没有考试成绩的学生学号和课程号16 查询全体学生的姓名、选修的课程名及成绩17 查询每个学生及其选修课程情况的所有信息(用*表示字段18 查询某门课程考试成绩相同的学生学号和课程名,并为各个表取别名19 查询与“张三”在一个系学习的学生(IN)20 查询选修了“数据结构”的学生学号和姓名五、实验总结列名写错:修改列名:心得体会:通过实验,了解了一些基本的查询操作,会一些的基本操作。

实验报告 数据库的基本查询'

实验报告 数据库的基本查询'

一、实验目的:通过该实验掌握应用SQL 查询数据库的基本方法,包括单表、多表查询。

二、实验原理数据库查询是数据库的核心操作。

SQL语言提供了SELECT语句进行数据库的查询。

SELECT[ALL|DISTINCT] <目标列表达式〉[,<目标列表达式〉]...FROM<表名或视图名〉[,<表名或视图名〉]...[WHERE<条件表达式>][GROUP BY<列名1〉[HA VING<条件表达式>]][ORDERBY<列名2〉[ASC|DESC]]三、实验内容和方法实验用的数据库:用实验二建立的数据库:School1. 投影查询(1) 查询SC表的sno的不重复记录。

使用SQL语句:“select distinct Sno from SC”,得出结果如下图所示:(2) 改变查询结果的标题名:sno为学号,sname为姓名,ssex 为性别,sdept 为系名。

使用SQL语句:“select Sno 学号,Sname 姓名,Ssex 性别,Sdept 系名from Student”,得出结果如下图所示:(3) 查询STUDENT表的前3条记录(top 3)。

使用SQL语句:“select top 3 * from Student”,得出结果如下图所示:3. 选择查询(1) 查询成绩在60-80之间的姓名、系名和成绩。

使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade>60 and Grade<80 and Student.Sno=SC.Sno”,结果如下图所示:若使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade between 60 and 80 and Student.Sno=SC.Sno”,则结果如下图所示:(2) 查询信息系和计算机系的姓名和成绩。

数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告:xxx学号:xxxxxxxx专业:xxxxx日期:xxxxxLab2 一、实验目的进一步熟悉关系数据库标准语言SQL。

二、实验环境1)Windows 102)SQL Server 2017三、实验容给定如学生表、课程表和学生作业表所示的信息。

表1 学生表表2 课程表表3 学生作业表K001 0433 60 75 75 K001 0529 70 70 60 K001 0531 70 80 80 K001 0591 80 90 90 K002 0496 80 80 90 K002 0529 70 70 85 K002 0531 80 80 80 K002 0538 65 75 85 K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80写出如下SQL语句:1.查询数据库中有哪些专业班级。

(5分)Sql语句:SELECT专业班级FROM学生表;查询结果截图:2.查询在1986年出生的学生的学号、和出生日期。

(5分)Sql语句:SELECT学号,,出生日期FROM学生表WHERE出生日期LIKE'1986%';查询结果截图:3.查询05级的男生信息。

(5分)Sql语句:SELECT*FROM学生表WHERE学号LIKE'05%'AND性别='男';查询结果截图:4.查询没有作业成绩的学号和课程号。

(5分)Sql语句:SELECT学号,课程号FROM学生作业表WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL;查询结果截图:5.查询选修了K001课程的学生人数。

(5分)Sql语句:SELECT COUNT(DISTINCT学号)FROM学生作业表WHERE课程号='K001';查询结果截图:6.查询数据库中共有多少个班级。

数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告姓名:xxx学号:xxxxxxxx专业:xxxxx日期:xxxxxLab2一、实验目的进一步熟悉关系数据库标准语言SQL。

二、实验环境1)Windows 102)SQL Server 2017三、实验内容给定如学生表、课程表和学生作业表所示的信息。

表2 课程表表3 学生作业表K0020529707085 K0020531808080 K0020538657585 K0020592758585 K0060531808090 K0060591808080 M0010496707080 M0010591657575 S0010531808080 S00105386080写出如下SQL语句:1.查询数据库中有哪些专业班级。

(5分)Sql语句:SELECT专业班级FROM学生表;查询结果截图:2.查询在1986年出生的学生的学号、姓名和出生日期。

(5分)Sql语句:SELECT学号,姓名,出生日期FROM学生表WHERE出生日期LIKE'1986%';查询结果截图:3.查询05级的男生信息。

(5分)Sql语句:SELECT*FROM学生表WHERE学号LIKE'05%'AND性别='男';查询结果截图:4.查询没有作业成绩的学号和课程号。

(5分)Sql语句:SELECT学号,课程号FROM学生作业表WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL;查询结果截图:5.查询选修了K001课程的学生人数。

(5分)Sql语句:SELECT COUNT(DISTINCT学号)FROM学生作业表WHERE课程号='K001';查询结果截图:6.查询数据库中共有多少个班级。

(5分)Sql语句:SELECT COUNT(DISTINCT专业班级)FROM学生表;查询结果截图:7.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。

SQL数据的查询和更新实验报告报告

SQL数据的查询和更新实验报告报告

SQL数据的查询和更新实验报告报告实验三、SQL的数据查询1、实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。

2、实验内容实验内容主要是对数据库进行查询操作,包括如下四类查询方式:单表查询查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。

使用DISTINCT保留字消除重复行。

对查询结果排序和分组。

集合分组使用集函数进行各项统计。

连接查询笛卡儿连接和等值连接。

自连接。

外连接复合条件连接。

多表连接。

嵌套查询通过实验验证对子查询的两个限制条件。

体会相关子查询和不相关子查询的不同。

考察四类谓词的用法,包括:第一类,IN、NOT IN;第二类,带有比较运算符的子查询;第三类,SOME、ANY或ALL谓词的子查询,查询最大值和最小值;第四类,带有EXISTS谓词的子查询,实现“所有”等情况集合运算使用保留字UNION进行集合或运算。

采用逻辑运算符AND或OR来实现集合交和减运算。

3、实验步骤以University_Mis数据库为例,该数据库中有四张如实验一,其中Score是每门课的考试成绩,Scredit是学生所有考试合格课程所获得的积分总数,Ccredit每门课程的学分数。

在数据库中,存在这样的联系:学生可以选择课程,一个课程对应一个教师。

在表Reports中保存学生的选课记录和考试成绩。

1请先输入如下元组,再对数据库进行有关的查询操作:图、Students表图、Teachers表图、Courses表图、Reports表2查询性别为“男”的所有学生的名称并按学号升序排列。

查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。

积分的计算公式为:[1+(考试成绩-60)*]*Ccredit。

考试成绩>=60。

查询学分是3或4的课程的名称。

查询所有课程名称中含有“算法”的课程编号。

查询所有选课记录的课程号。

统计所有老师的平均工资。

数据库实验报告一SQL查询

数据库实验报告一SQL查询

(1) 查询员工的姓名、职务和薪水。

select employeename,employeeno,salaryfrom Employee(2) 查询名字中含有“有限”的客户名称和所在地。

select customerno,addressfrom customerwhere customername like'%有限%'(3) 查询出姓“张”并且姓名的最后一个字为“梅”的员工。

select*from employeewhere employeename like'张_梅'(4) 查询住址中含有“上海”或“南昌”的女员工,并显示其姓名、所属部门、职称、住址、出生日期和性别,其中如果出生日期为空,显示“不详”,否则按格式“yyyy-mm-dd”显示,性别用“男”和“女”显示。

select employeename,department,headship,address,birthday=case birthday when null then'不详'end,sex=case sex when'M'then'男'when'F'then'女'endfrom employeewhere address like'%上海%'or address like'%南昌%'(5) 查询出职务为“职员”或职务为“科长”的女员工的信息。

select*from employeewhere headship like'职员'or headship like'科长'(6) 选取编号不在C20050001~C20050004之间的客户编号、客户名称、客户地址。

select customerno,customername,addressfrom customerwhere customerno not between'C20050001'and'C20050004'(7) 在表OrderMaster中挑出销售金额大于等于5000元的订单。

实验三数据库SQL基本表查询

实验三数据库SQL基本表查询

实验三数据库SQL基本表查询数据库原理及应用实验报告实验三SQL 基本表查询实验报告实验类型__综合设计__实验室_软件实验室一__SQL基本表查询1.实验项目的目的和任务:熟练掌握查询语句的一般格式,熟练掌握连接、嵌套和集合查询的使用。

2.程序代码(部分)select * from student where s# in( select s# from sc where c#!='c2') //查询没有选修了2号课程的学生名单select s#,avg(grade) from sc group by s#;//查询每个学生的平均成绩select c#,avg(grade) from sc group by c#;//查询每门课的平均成绩select * from student where s# in(select s# from sc where c#='c2') //嵌套查询select sname from student wherenot exists(select * from c wherenot exists(select * from sc where s#=student.s# and c#=c.c#))// 查询选修了全部课程的学生姓名3运行结果如图所示4实验总结通过具体的上机实践操作,掌握了SQL基本表查询。

(1)确定集合(利用“IN”操作可以查询属性值属于指定集合的元组。

利用“NOT IN”可以查询指定集合外的元组。

(2)GROUP BY 子句可以将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的值。

(3)在where子句中包含一个形如select-from-where的查询块,此查询块称为子查询或嵌套查询,包含子查询的语句称为父查询或外部查询。

嵌套查询可以将一系列简单查询构成复杂查询,增强查询能力。

SQL查询实验报告

SQL查询实验报告

SQL查询实验报告实验题目:sql查询——简单查询【实验目的与要求】一、实验目的1. 熟练掌握单表查询的select语法结构;2. 通过观察查询结果, 体会select语句的实际应用。

二、实验要求1.实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作。

2.能认真独立完成实验内容。

3.实验后做好实验总结,根据实验情况完成实验报告。

【实验环境】pc机、windows xp系统+sql server 2005 【实验内容】基于实验一建立的educ 数据库,用transact-sql 语句实现如下查询:1.选修了课程的学生学号;2.计算机系的学生;3.计算机系学生的学号和姓名;4.计算机系和信息系的男生信息;(提示:逻辑运算符的优先级顺序)5.选修上课编号为1且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75输出;(提示:新输出项要命名列标题)6.没有成绩的学生的学号和上课编号;7.选修上课编号为1或4的学生的学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;(提示:查询输出哪几项)8.1995年1月1日(含)以后出生的学生信息,并按姓氏拼音字母顺序从前往后排列(注:默认排序规则通常是chinese_prc_ci_as,汉字按照汉语拼音的字典顺序来排序:首先按拼音,拼音相同按声调,声调相同按笔画数。

)9.姓李和刘的学生的信息;10.不姓张王李刘的学生的学号、姓名和性别;11.选修课程的学生人数;12.选修上课编号为1的学生的最高分;13.每位学生所修课程的平均分;14.选修两门以上课程的学生;15.总成绩大于200 分的学生的学号和总成绩。

(提示:group by分组统计)【实验方法和步骤】1.新建查询,在查询编辑器中依次按照如上实验内容编写select 语句完成查询。

2.每执行一条查询语句,在查询结果网格中查看执行结果是否正确。

sql查询实验报告

sql查询实验报告

sql查询实验报告SQL查询实验报告一、引言SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。

在数据库管理系统中,SQL查询是一项重要的操作,通过使用SQL查询语句可以从数据库中检索所需的数据。

本实验旨在通过实际操作,掌握SQL查询的基本语法和常用技巧。

二、实验目的1. 熟悉SQL查询语句的基本结构和语法;2. 掌握SQL查询中的条件筛选、排序和聚合等操作;3. 学会使用SQL查询语句从数据库中检索所需的数据。

三、实验环境本次实验使用MySQL数据库管理系统,通过MySQL Workbench进行操作。

四、实验步骤1. 连接数据库:打开MySQL Workbench,点击“新建连接”,输入数据库连接信息,成功连接到目标数据库。

2. 创建测试表:创建一个名为“students”的表,包含字段“id”(学生编号)、“name”(学生姓名)、“gender”(学生性别)、“age”(学生年龄)和“score”(学生成绩)。

3. 插入测试数据:向“students”表中插入若干测试数据,包括学生的编号、姓名、性别、年龄和成绩。

4. 执行SQL查询语句:使用SQL查询语句从“students”表中检索所需的数据。

五、实验结果与分析1. 查询所有学生的信息:SELECT * FROM students;通过执行以上查询语句,可以获取到“students”表中所有学生的信息,包括学生的编号、姓名、性别、年龄和成绩。

2. 查询成绩大于80分的学生信息:SELECT * FROM students WHERE score > 80;以上查询语句中的WHERE子句用于筛选成绩大于80分的学生信息,通过执行该语句,可以获取到符合条件的学生的信息。

3. 查询男生的平均成绩:SELECT AVG(score) FROM students WHERE gender = '男';以上查询语句中的AVG函数用于计算符合条件的学生的平均成绩,通过执行该语句,可以获取到男生的平均成绩。

数据库原理-SQL简单查询

数据库原理-SQL简单查询

计算机工程学院实验报告2017-2018学年第1学期课程名称:数据库原理专业:计算机科学与技术班级:2班学号:姓名:指导教师:实验内容与完成情况3.1查询1991年出生的读者姓名、工作单位和身份证号。

select readername,workunit,identifycardfrom Reader/*where identifycard like '%1991%'*//*where substring(identifycard,7,4)=1991*/where identifycard like '______1991%'3.2查询在信息管理学院工作的读者编号、姓名和性别。

select readerno,readername,sexfrom Readerwhere workUnit like '信息管理学院'3.3查询图书名中含有“数据库”的图书的详细信息。

select *from Bookwhere bookName like '%数据库%'3.4查询吴文君老师编写的单价不低于40元的每种图书的图书编号、入库数量。

select bookno,shopnumfrom Bookwhere authorName='吴文君' and price>=403.5查询在1995年入库的图书编号、出版时间、入库时间和图书名称,并按入库时间排序输出。

select bookno,publishingdate,shopdate,booknamefrom Bookwhere year(shopdate)=1995order by shopDate3.6查询借阅了B200201002图书编号的读者编号、图书编号、借书日期。

select readername,borrowdate,returndatefrom Reader a,Borrow bwhere a.readerno=b.readerno and b.bookNo='B200201002'3.7查询读者马永强借阅的图书编号、图书名称、借书日期和归还日期。

最新数据库SQL-编辑器编写-SQL-查询语句

最新数据库SQL-编辑器编写-SQL-查询语句

数据库S Q L-编辑器编写-S Q L-查询语句数据库系统原理实验报告一、实验目的了解 PostgreSQL 查询编辑器的启动,熟悉如何在 PostgreSQL 查询编辑器查询记录。

掌握 SELECT 语句的基本语法和查询条件表示方法掌握 GROUP BY 和 ORDER BY 子句的作用和使用方法掌握连接查询和子查询的使用方法加深对 SQL 数据更新(插入、修改及删除)语句的基本语法格式的掌握掌握单个元组及多个元组的插入、修改及删除操作的实现过程加深对更新操作时数据库中数据一致性问题的了解加深对约束条件在数据更新操作执行中的作用问题的了解二、实验内容使用 SQL 编辑器编写 SQL 查询语句使用 SQL 编辑器编写 SQL 数据更新语句三、实验任务1.对上节建立的表输入数据:(1)departments:代码:Insert intodepartments_1511630117(DepartmentID,DepartmentName,Note) values('1','财务部','财务部');insert intodepartments_1511630117(DepartmentID,DepartmentName,Note) values('2','研发部','研发部');insert intodepartments_1511630117(DepartmentID,DepartmentName,Note) values('3','人力资源部','人力资源部')(2)Employee:代码:insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('1001','李勇','19780312','0','河南','475001','3880378','ly@','1');insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('1002','王敏','19801102','1','河南','475002','0378311','wm@','1');insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('1003','刘晨','19780622','0','河南','475003','0378322','le@','1');insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('2001','张立','19780801','0','河南','475004','0378333','zl@','2');insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('2002','刘毅','19820123','0','河南','475005','0378344','ly@','2');insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('2003','张玫','19810315','1','河南','475006','0378355','zm@','2');insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('3001','徐静','19760812','1','河南','475007','0378366','xj@','3');insert intoemployee_1511630117(employeeid,name,birthday,sex,address,zip,phonenumber,ema iladdress,departmentid)values('3002','赵军','19790219','0','河南','475008','0378377','zj@','3')(3)Salary:代码:insert into salary_1511630117(employeeid,income,outcome)values('1001','3600','1500');insert into salary_1511630117(employeeid,income,outcome)values('1002','3300','1000');insert into salary_1511630117(employeeid,income,outcome)values('1003','3700','1200');insert into salary_1511630117(employeeid,income,outcome)values('2001','4000','1600');insert into salary_1511630117(employeeid,income,outcome)values('2002','3800','1800');insert into salary_1511630117(employeeid,income,outcome)values('2003','3800','1500');insert into salary_1511630117(employeeid,income,outcome)values('3001','4200','2000');insert into salary_1511630117(employeeid,income,outcome)values('3002','4100','1800');2、练习下面简单的查询语句:a)查询每个雇员的所有信息:代码:selectemployeeid,departmentid,name,birthday,sex,address,zip,PhoneNumber,EmailAddress from employee_1511630117;b)查询每个雇员的地点和电话:c)代码:select departmentid,name,address,PhoneNumber from employee_1511630117;C)查询 EmployeeID 为 1001 的雇员的地址和电话:select address,PhoneNumberfrom employee_1511630117 where employeeid='1001';D)查询女雇员地址和电话,并用AS 子句将结果中各列的标题分别指定为“地址”和“电话”:代码:select address as 地址,phonenumber as 电话 from employee_1511630117where sex='1'E)计算每个雇员的实际收入代码:select income-outcome as 实际收入 from salary_1511630117;F)找出所有姓王的雇员的部门号:代码:select departmentid from employee_1511630117 where name like'王%';思考:找出所有地址中含有“中山”的雇员的号码和部门号。

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)检索至少选修课程“数学”和“操作系统”的学生学号。

(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。

数据库实验二,sql查询语句

数据库实验二,sql查询语句

实验二:数据查询语言实验内容SQL数据查询语句:例5-1:(选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。

select sno,sname,sex,sage from student;例5-2:(不选择重复行) 求选修了课程的学生学号。

select distinct cno from sc where cno is not null;例5-3:(选择表中的所有列) 求全体学生的详细信息。

select * from student;例5-4:(使用表达式) 求全体学生的学号、姓名和出生年份。

select sno,sname,birthday from student;例5-5:(使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。

select sno as"学号",birthday as"出生年份" from student;例5-6:(比较大小条件) 求年龄大于19岁的学生的姓名和年龄。

select sname,age from studentwhere age>19;例5-7:(比较大小条件) 求计算机系或经济管理系年龄大于18岁的学生的姓名、系和年龄。

select sname,depname ,agefrom student,departmentwhere student.depno=department.depnoand age>18;例5-8:(确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。

select sno,age from studentwhere age in(19,22);例5-9:(确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。

select sno,age from studentwhere age not in(19,22);例5-10:(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。

数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告-SQL查询语句数据库系统原理实验报告姓名:xxx学号:xxxxxxxx专业:xxxxx⽇期:xxxxxLab2⼀、实验⽬的进⼀步熟悉关系数据库标准语⾔SQL。

⼆、实验环境1)Windows 102)SQL Server 2017三、实验内容给定如学⽣表、课程表和学⽣作业表所⽰的信息。

表2 课程表表3 学⽣作业表K0020529707085 K0020531808080 K0020538657585 K0020592758585 K0060531808090 K0060591808080 M0010496707080 M0010591657575 S0010531808080 S00105386080写出如下SQL语句:1.查询数据库中有哪些专业班级。

(5分)Sql语句:SELECT专业班级FROM学⽣表;查询结果截图:2.查询在1986年出⽣的学⽣的学号、姓名和出⽣⽇期。

(5分)Sql语句:SELECT学号,姓名,出⽣⽇期FROM学⽣表WHERE出⽣⽇期LIKE'1986%';查询结果截图:3.查询05级的男⽣信息。

(5分)Sql语句:SELECT*FROM学⽣表WHERE学号LIKE'05%'AND性别='男';查询结果截图:4.查询没有作业成绩的学号和课程号。

(5分)Sql语句:SELECT学号,课程号FROM学⽣作业表WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL;查询结果截图:5.查询选修了K001课程的学⽣⼈数。

(5分)Sql语句:SELECT COUNT(DISTINCT学号)FROM学⽣作业表WHERE课程号='K001';查询结果截图:6.查询数据库中共有多少个班级。

(5分)Sql语句:SELECT COUNT(DISTINCT专业班级)FROM学⽣表;查询结果截图:7.查询选修三门以上(含三门)课程的学⽣的学号和作业1平均分、作业2平均分和作业3平均分。

数据库原理 select查询命令实验报告

数据库原理 select查询命令实验报告

《数据库原理》简单查询实验报告一、实验目的1. 练习SQL语言中查询命令Select-单表查询语句格式SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] …FROM <表名或视图名>[, <表名或视图名> ] …[ WHERE <条件表达式> ][ GROUP BY <列名1> [ HAVING <条件表达式> ] ][ ORDER BY <列名2> [ ASC|DESC ] ]2. 实验内容⏹查询指定列⏹查询全部列⏹查询经过计算的列⏹去掉查询结果中重复的行⏹对查询结果列重新命名⏹查询满足条件的元组(between and, like, Is Null,⏹多重条件查询⏹查询结果排序二、实验用品及设备1. PC机2. 操作系统 Windows 103. 必备DBMS软件,例如SQL Sever2008,MySQL等。

三、实验步骤Retail Database Table Structure零售数据库表结构Customer( CustNO, FName, LName, Street, Suburb, Postcode, Balance) 顾客(顾客号,名,姓,街道,城市,邮政编码,余额)Department( DepartNO, DepartName)部门(部门号,部门名)SalesRep( SalesRepNO, SalesRepLastName, SalesRepFName, DepartNO fk) 销售代表(销售代表号,姓,名,部门号)Order( OrderNO, CustNO fk, OrdDate, SalesRepNO fk, OrdStatus) 订单(订单号,顾客号,订单日期,销售代表号,订单状态)OrderLine( OrderNO fk, ProductNO fk, QtyPurchased, PurchasePrice) 订单明细(订单号,商品号,购买数量,销售价格)Product( ProductNO, ProdDescription,QtyOnHand, UnitPrice)商品(商品号,商品名,库存量,单价)1. 查询顾客的姓名及账户余额。

数据库实验报告 简单SQL查询及数据库多表查询

数据库实验报告  简单SQL查询及数据库多表查询
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
添加语句:
INSERT [INTO] table_or_view [(column_list)] data_values
删除语句:
DELETE [ FROM ] table_name WHERE search_condition
1、首先检查表结构:
图2-1输入检查表结构的语句
注意:
(1)表名称不能以数字开头
(2)sp_help语句只能一次执行一句,不能批量执行
2、单条语句插入样例:
插入后
插入后
插入后
插入后
插入后
请同学们自行练习使用单条SQL语句给自己的各个表进行插入
图2-2 各表插入语句样例
2.6.2操作二:UPDATE(更新)
11、请查询输出:班级编号,班级名称,男生,女生。
图2-15 SELECT语句中CASE语句的用法1
12、请查询输出:班级编号,班级名称,男生,女生,合计。
图2-16 SELECT语句中CASE语句的用法2
13、执行以下查询,解释该查询的含义
解释:第一个
图2-17解释SELECT语句
2.7思考题
1.如何使用UNION子句,它必须符合哪两条基本准则?
图2-8 SELECT语句中函数以及复杂子句的用法
5、查询没有成绩记录的学生,查询输出:学号,姓名、的在班级简称。
图2-9 SELECT语句中not in的用法
6、查询某学生的各课成绩(注意确保该学生有课程成绩),结果格式如下:
查询07号学生成绩如下
图2-10用SELECT语句查询自己的成绩

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)求选修了学生“*****”所选修的全部课程的学生学号和姓名。

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

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

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

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

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

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

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

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

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

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

数据库原理实验报告-数据的查询及更新

数据库原理实验报告-数据的查询及更新

实验题目二、数据的查询及更新一、实验目的熟悉SQL语句的使用方法,学习使用SQL语句来实现数据查询。

掌握基本的SELECT 查询及其相关子句的使用;掌握复杂的SELECT查询,如多表查询、子查询、连接查询和嵌套查询等。

二、实验内容和要求学习使用SQL查询分析器查询数据,练习查询语句的使用:1.掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法;2.掌握存储查询结果的方法;体会各种查询的异同及相互之间的转换;3.分析各种查询的执行过程,为综合应用打下良好的基础。

三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/XP或更高版本;2.数据库管理系统:SQL Server 2005或更高版本;四、实验方法、步骤及结果测试在实验一的基础上,完成以下实验内容。

1.删除以下各表中已有数据,将下列数据插入到相应的基本表中。

2. 简单查询使用SQL语言完成以下查询。

(4)查询“计算机科学与技术”专业并且班级编码为‘macr1601’的学生的学号、姓名学习在SQL Server 中安装“Northwind”数据库,并完相应查询操作。

(1)安装“Northwind”数据库。

A.运行安装文件(如SQL2000SampleDb.msi)。

B.右击数据库,点击“附加”,添加对应的数据库文件(.mdf)。

C.执行操作。

(2)对NothWind. Products表进行简单查询。

ProductName;五、思考题请举例说明:对于带“EXISTS”谓词的、内外层相关的多层嵌套查询,如何构造此类查询的SQL语句?。

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

数据库系统原理
实验报告
:xxx
学号:xxxxxxxx
专业:xxxxx
日期:xxxxx
Lab2 一、实验目的
进一步熟悉关系数据库标准语言SQL。

二、实验环境
1)Windows 10
2)SQL Server 2017
三、实验容
给定如学生表、课程表和学生作业表所示的信息。

表1 学生表
表2 课程表
表3 学生作业表
K001 0433 60 75 75 K001 0529 70 70 60 K001 0531 70 80 80 K001 0591 80 90 90 K002 0496 80 80 90 K002 0529 70 70 85 K002 0531 80 80 80 K002 0538 65 75 85 K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80
写出如下SQL语句:
1.查询数据库中有哪些专业班级。

(5分)
Sql语句:
SELECT专业班级
FROM学生表;
查询结果截图:
2.查询在1986年出生的学生的学号、和出生日期。

(5分)
Sql语句:
SELECT学号,,出生日期
FROM学生表
WHERE出生日期LIKE'1986%';
查询结果截图:
3.查询05级的男生信息。

(5分)
Sql语句:
SELECT*
FROM学生表
WHERE学号LIKE'05%'AND性别='男';
查询结果截图:
4.查询没有作业成绩的学号和课程号。

(5分)
Sql语句:
SELECT学号,课程号
FROM学生作业表
WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL;
查询结果截图:
5.查询选修了K001课程的学生人数。

(5分)
Sql语句:
SELECT COUNT(DISTINCT学号)
FROM学生作业表
WHERE课程号='K001';
查询结果截图:
6.查询数据库中共有多少个班级。

(5分)
Sql语句:
SELECT COUNT(DISTINCT专业班级)
FROM学生表;
查询结果截图:
7.查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。

(5分)
Sql语句:
SELECT学生作业表.学号,AVG(作业1成绩),AVG(作业2成绩),AVG(作业3成绩)
FROM学生表,学生作业表
WHERE学生表.学号=学生作业表.学号
GROUP BY学生作业表.学号
HAVING COUNT(*)>2;
查询结果截图:
8.查询于兰兰的选课信息,列出学号、、课程名。

(5分)
Sql语句:
SELECT学生作业表.学号,,课程名
FROM学生表,学生作业表,课程表
WHERE= '于兰兰'AND学生表.学号=学生作业表.学号AND课程表.课程号=学生作业
表.课程号;
查询结果截图:
9. 查询与“志国”同一班级的学生信息(使用连接查询和子查询方式两种方式)。

(10 )
1)连接查询:
Sql语句:
SELECT学生表1.*
FROM学生表AS学生表1,学生表AS学生表2
WHERE学生表2.='志国'AND学生表1.专业班级=学生表2.专业班级;
查询结果截图:
2)子查询:
Sql语句:
SELECT*
FROM学生表
WHERE专业班级=(SELECT专业班级
FROM学生表
WHERE='志国');
查询结果截图:
10. 查询比“计算机应用基础”学时多的课程信息(使用连接查询和子查询方式两种方式)。

(10分)
1)连接查询:
Sql语句:
SELECT课程表1.*
FROM课程表AS课程表1,课程表AS课程表2
WHERE课程表2.课程名='计算机应用基础'AND课程表1.学时数>课程表2.学时数;
查询结果截图:
2)子查询:
Sql语句:
SELECT*
FROM课程表
WHERE学时数>(SELECT学时数
FROM课程表
WHERE课程名='计算机应用基础');
查询结果截图:
11. 查询选修课程号为K002的学生的学号、(使用连接查询、普通子查询、相关子查询、使用exists关键字的相关子查询四种方式)。

(20分)
1)连接查询:
Sql语句:
SELECT学生表.学号,学生表.
FROM学生作业表,学生表
WHERE学生作业表.课程号='K002'AND学生作业表.学号=学生表.学号;
查询结果截图:
2)普通子查询:
Sql语句:
SELECT DISTINCT学生表.学号,学生表.
FROM学生作业表,学生表
WHERE学生表.学号IN(
SELECT学生表.学号
FROM学生作业表
WHERE学生作业表.课程号='K002'AND学生作业表.学号=
学生表.学号)
查询结果截图:
3)相关子查询:
Sql语句:
SELECT DISTINCT学生表.学号,学生表.
FROM学生表,学生作业表
WHERE学生表.学号IN(
SELECT学生作业表.学号
FROM学生作业表
WHERE学生作业表.课程号='K002')
查询结果截图:
4)使用exists关键字的相关子查询:
Sql语句:
SELECT DISTINCT学生表.学号,学生表.
FROM学生作业表,学生表
WHERE EXISTS(
SELECT*
FROM学生作业表
WHERE学生作业表.课程号='K002'AND学生作业表.学号=学生表.
学号)
查询结果截图:
12. 查询没有选修K001和M001课程的学号、课程号和三次成绩(使用子查询)。

(20分)
Sql语句:
SELECT DISTINCT学号,课程号,作业1成绩,作业2成绩,作业3成绩
FROM学生作业表
WHERE学号NOT IN(
SELECT学号
FROM学生作业表
WHERE课程号='K001'OR课程号='M001')
查询结果截图:
四、实验总结
通过本次实验,我更加熟悉了SQL语言查询相关的语句用法。

在实验中遇到了很多问题,例如建表时提示主键列不能输入重复值,后来才知道原来要设置两个主键。

希望在以后的实验中可以收获更多的实践知识。

相关文档
最新文档