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

合集下载

数据库sql 实验报告

数据库sql 实验报告

数据库sql 实验报告数据库SQL实验报告1. 引言数据库是现代信息系统中不可或缺的组成部分,它提供了有效地存储和管理数据的能力。

结构化查询语言(SQL)是一种用于管理和操作关系型数据库的标准化语言。

本实验报告旨在通过实际操作和实验结果的分析,探讨SQL在数据库中的应用和效果。

2. 实验目的本次实验的主要目的是熟悉和掌握SQL语言的基本操作,包括数据的查询、插入、更新和删除等。

通过实验,我们可以进一步了解SQL语言的特点和使用方法,加深对数据库管理系统的理解。

3. 实验环境本次实验使用的数据库管理系统为MySQL,它是一种开源的关系型数据库管理系统。

MySQL提供了强大的功能和灵活的配置选项,被广泛应用于各种规模的应用程序中。

4. 实验步骤4.1 数据库连接在实验开始之前,我们首先需要建立与数据库的连接。

通过使用MySQL提供的连接函数,我们可以指定数据库的主机地址、用户名和密码等信息,以便进行后续的操作。

4.2 数据库创建在连接成功后,我们可以使用SQL语句创建一个新的数据库。

通过指定数据库的名称和字符集等属性,我们可以灵活地创建适合自己需求的数据库。

4.3 数据表创建数据库中的数据以表的形式进行组织和存储。

在本次实验中,我们将创建一个名为"students"的数据表,用于存储学生的基本信息。

通过指定表的字段和属性,我们可以定义每个字段的数据类型和约束条件。

4.4 数据插入在数据表创建完成后,我们可以使用SQL语句向表中插入数据。

通过指定插入的字段和对应的值,我们可以将具体的数据添加到表中。

在插入数据时,我们还可以使用事务来确保数据的完整性和一致性。

4.5 数据查询数据查询是SQL语言的核心功能之一。

通过使用SELECT语句,我们可以从表中检索所需的数据。

SELECT语句可以使用不同的条件和运算符进行过滤和排序,以满足不同的查询需求。

4.6 数据更新和删除除了查询,SQL语言还提供了更新和删除数据的功能。

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

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

数据库原理实验报告题目:查询语句的格式院系:计算机科学与工程学院班级:姓名:学号:一、实验题目查询语句的格式二、实验目的掌握嵌套查询语句的运用;了解如何应用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语句实验报告

数据库SQL语句实验报告《数据库原理及应⽤》实验报告SQL语句部分总成绩:实验⼀熟悉SQL SERVER,数据定义实验实验⼀成绩:⼀、实验⽬的1、利⽤查询分析器创建数据库2、利⽤查询分析器⽤SQL语⾔定义基本表、索引并进⾏相关操作⼆、实验步骤及内容在以下实验中,使⽤学⽣-课程数据库,它描述了学⽣的基本信息、课程的基本信息及学⽣选修课程的信息。

1.创建学⽣课程数据库5.将以上创建表S、C、SC的SQL命令以.SQL⽂件的形式保存在磁盘上。

6、在表S上增加“出⽣⽇期”属性列。

7、删除表S的“年龄”属性列。

8、删除S姓名列的唯⼀值约束。

9、修改SC表成绩属性列为精确数字型。

10、在表S上,按“Sno”属性列的唯⼀值⽅式建⽴索引。

11、删除表SC,利⽤磁盘上保存的.SQL⽂件重新创建表SC。

12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。

三、实验结果:1.创建学⽣课程数据库create database Studend;(Sno CHAR(9)PRIMARY KEY,Sname CHAR(20)UNIQUE,Ssex CHAR(2),Sage smallint,Sdept char(20),);3.创建课程关系表C :(Cno char(4)primary key,Cname CHAR(40),Cpno char(4),Ccredit SMALLINT,);(Sno char(9),Cno char(4),Grade smallint,);5.将以上创建表S、C、SC的SQL命令以.SQL⽂件的形式保存在磁盘上。

6、在表S上增加“出⽣⽇期”属性列。

alter table S add Sbirthday datetime;7、删除表S的“年龄”属性列。

alter table S drop column Sage;8、删除S姓名列的唯⼀值约束。

alter table S drop UQ__S__7D78A4E7;9、修改SC表成绩属性列为精确数字型。

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查询

《数据库原理实验》实验报告青岛科技大学信息学院1.实验目标 (3)1. 实验步骤和内容 (3)2.1. SQL Server 的查询操作 (3)2.1.1. 登录 (3)2.2. 输入操作 (4)3.查询操作-student (5)3.1.课件实验 (27)4.查询操作-Dreamhome (38)1.实验目标掌握利用SQL完成相关数据输入、查询和更新操作,并掌握SQL语句错误调试方法。

基于“学生数据库”和“Dreamhome”数据库,利用SQL语句完成查询。

1.实验步骤和内容2.1.SQL Server Management Studio 的查询操作2.1.1.登录在计算机操作系统“开始”菜单上,找到SQL Server ManagementStudio2017登陆界面:个人信息:秦增鑫2.2.输入操作向数据库中输入学生数据,部分数据来源于课本P65 表5-4、5-5、5-6。

Student表、Course表、SC表3.查询操作-student课本(1~31)①查询SC表中的全部数据。

SQL语句为:运行结果:②查询计算系学生的姓名和年龄。

SQL语句为:运行结果:③查询成绩在70到80分的学生的学号、课程号和成绩。

SQL语句为:运行结果:④查询计算机成绩系年龄在18到20岁的男生姓名和年龄。

SQL语句为:运行结果:⑤查询C001课程的最高分。

SQL语句为:运行结果:⑥查询计算机系学生的最大年龄和最小年龄。

SQL语句为运行结果:⑦统计每个系的学生人数。

SQL语句为运行结果:⑧统计每门课程的选课人数和最高成绩。

SQL语句为:运行结果:⑨统计每个学生的选课门数和考试总成绩,并按选课门数升序排列结果。

SQL语句为:运行结果:⑩列出总成绩超过200的学生的学号和总成绩。

SQL语句为:运行结果:⑪查询选了C002课程的学生的学号和总成绩SQL语句为运行结果:⑫查询考试成绩80分以上的学生姓名、课程号和成绩,并按照成绩降序排列结果。

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.每执行一条查询语句,在查询结果网格中查看执行结果是否正确。

【实验结果】select distinct sno from student_course select * from student where dno = 计算机select sno,sname from student where dno = 计算机select * from studentwhere sex =男 and dno in(计算机,信息) select sno,0.75*score as 成绩from student_course where tcid =1 and score between80 and 90select sno,score from student where (tcid=1 or tcid=4) order by score desc,sno select *from student where birthday>=1995-1-1order by sname asc select *from student where sname like[李刘]% select sno,sname,sex from student where sname like[^张王李刘]% select count(distinct sno)as 选课人数from student_course select max(score) as 最高分from student_course where tcid=1 select sno,avg(score)as 平均分from student_course group by sno select sno,count(distinct tcid)as 选课门数from student_course group by snohaving count(tcid)>2 select sno,sum(score)as 总成绩from student_course group by sno havingsum(score)>=200 order by 总成绩desc 【实验体会】利用select语句可以实现对已有表中数据的查询的。

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据数据库原理实验报告实验名称:实验二使用SQL语句操作数据实验时间:2013.4.16学生姓名:班级:软件学号:一、实验目的1、熟悉SQL Server 2005的基本环境2、使用对象资源管理器管理数据库、基本表、视图、索引等对象3、锻炼学生对SQL Server 2005基本操作能力二、实验内容1、使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。

2、在数据库中创建S, P, J, SPJ四个关系模式:S ( SNO, SNAME, STATUS, CITY )P(PNO, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)【说明:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。

】3、建立数据库关系图。

将建好的数据库和表转化为SQL语句,以sql脚本方式保存。

4、使用对象资源管理器向表中插入下列数据。

SP表5、使用SQL语言完成如下操作:1)求供应工程J1零件的供应商号码SNO。

2)求供应工程J1零件P1的供应商号码SNO。

3)求供应工程J1零件为红色的供应商号码SNO。

4)求没有使用天津供应商生产的红色零件的工程号JNO。

5)求至少用了供应商S1所供应的全部零件的工程号JNO。

6)找出所有供应商的姓名和所在城市。

7)找出所有零件的名称、颜色、重量。

数据库实验报告(实验四)

数据库实验报告(实验四)

沈阳工程学院学生实验报告(课程名称:数据库系统原理)实验题目:数据查询(二)班级学号姓名日期年月日地点指导教师一、实验目的掌握SQL查询命令:包括连接查询、嵌套查询和集合查询。

二、实验环境Oracle10g数据库系统。

三、实验内容与要求使用Select命令完成下列数据查询。

一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称。

⑵查询“沈阳市”顾客,购买“01”商品的顾客信息。

⑶查询“沈阳市”且购买了商品的顾客信息。

⑷查询购买“01”商品,且购买数量在2以上的顾客姓名。

⑸查询每个顾客购买商品的名称及购买数量和日期。

⑹查询购买商品单价超过100的顾客姓名。

二、嵌套查询⑴查询与“rose”在同一城市的顾客信息。

⑵查询购买商品名称为“面包”的顾客编号和姓名。

三、EXISTS查询⑴查询没有购买“0001”商品的顾客姓名。

⑵查询购买了全部商品类别的顾客的姓名。

四、实验过程及结果分析一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称,如图1-1所示。

select guest.*,guestname,goodsnamefrom guest,goods,purchasewhere guest.guestid=purchase.guestidand goods.goodsid=purchase.goodsid;图1-1⑵查询“沈阳市”顾客,购买“01”商品的顾客信息,如图1-2所示。

select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳'and purchase.goodsid='01';图1-2⑶查询“沈阳市”且购买了商品的顾客信息,如图1-3所示。

select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳';图1-3⑷查询购买“01”商品,且购买数量在2以上的顾客姓名,如图1-4所示。

数据库系统原理实验报告-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查询

(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(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函数用于计算符合条件的学生的平均成绩,通过执行该语句,可以获取到男生的平均成绩。

数据库实验3-SQL语言之数据查询(简单查询)

数据库实验3-SQL语言之数据查询(简单查询)

实验三SQL数据查询(简单查询)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:【实验目的与要求】1、熟练掌握SELECT 语句的基本语法格式;2、熟练掌握使用SQL语句进行单表查询,掌握GROUP BY子句、HA VING 子句和集函数;3、熟练掌握使用SQL标准语句和T-SQL扩展语句进行连接查询。

【实验内容】3.0. 实验准备与说明本实验将用到实验二中数据库SalesDB和相应的表及数据,若该数据库及表尚未创建,或数据尚未录入,则请先完成之。

请根据前面实验创建的表结构和数据,完成如下查询。

本实验及后面实验中所用测试数据库中表的字段及含义如下表:表-1 测试数据库表的字段及含义3.1.简单查询(1).查询各种产品的产品编号、产品名称和价格。

请给出相应语句:USE SalesDB;SELECT Pno,Pname,Price FROM Product;请给出运行结果:(2).查询所在城市为“厦门”的客户编号和客户名称,结果中各列的标题分别指定为:“客户编号”和“客户名称”显示。

请给出相应语句:SELECT Cno as客户编号,Cname as客户名称FROM Customer WHERE City='厦门';请给出运行结果:(3).查询各产品编号、名称、库存量和产品总值。

(总值:价格与库存数量的积)请给出相应语句:SELECT Pno,Pname,Price ,Stocks FROM Product;SELECT SUM(Price*Stocks)as产品总值FROM Product;请给出运行结果:(4).查询曾购买过产品的客户编号(不重复)。

请给出相应语句:SELECT Cno FROM Customer;请给出运行结果:(5).查询价格在1000-2000的产品信息,并依价格由低到高的顺序排序。

(请使用Between…and和算术比较运算符分别实现)a.使用Between…and比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price between 1000 and 2000order by Price;请给出运行结果:b.使用算术比较实现:请给出相应语句:use SalesDB;select*from Productwhere Price >= 1000 and Price<=2000order by Price;请给出运行结果:(6).查询产品名称含有“热水器”的产品信息。

数据库查询SQL 实验报告

数据库查询SQL 实验报告

实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:年月日教务处制注意:SELECT SNO, SNAME FROM 这些的大小写随意,但是"S-C"."STUDENT"必须是指定大小写,要是改变大小写则可以用"S-C".student加分号,引号会自动变红色. 在SQL语句中用/* 注释内容 */注释。

例3.17 查询全体学生的姓名、学号、所在系SELECT SNAME,SNO,SDEPT FROM"S-C"."STUDENT"例3.18 查询全体学生的详细记录SELECT* FROM"S-C"."STUDENT"例3.19 查询全体学生的姓名及其出生年份SELECT SNAME, 2014-Sage FROM"S-C"."STUDENT"注意:因为2014-Sage在生成表格的时候出现了“?”无法显示,改错方法就是在2014-Sage后面直接加“空格键和别名”如在下题给它取别名WSELECT SNAME, 2014-Sage W FROM"S-C"."STUDENT"例3.20 查询全体学生的姓名、出生年份和所在院系,要求用小写字母表示系名SELECT SNAME,'YEAR OF BIRTH:' ,2014-SAGE ,LOWER(SDEPT)FROM"S-C"."STUDENT"指定别名:SELECT SNAME name,'YEAR OF BIRTH:' birth,2014-SAGE birthday,LOWER(SDEPT) department FROM"S-C"."STUDENT"例3.21 查询选修了课程的学生学号SELECT SNO FROM"S-C"."SC";注意:查询结果中有许多重复行,若想去掉重复,则指定DISTINCT。

数据库实验SQL 语言 SQL 语言的简单查询、连接查询

数据库实验SQL 语言 SQL 语言的简单查询、连接查询
计算机引论
空值(NULL)
C2
C语言
C1
C3
数据结构
C2
8.用INSERT语句向Choose表中插入7个元组
SNO
CourseID
Score
S00001
C1
95
S00001
C2
80
S00001
C3
84
S00002
C1
80
S00002
C2
85
S00003
C1
78
S00003
C3
70
9.用SELECT语句,查询计算机学院学生的学号和姓名关系代数及代码:
13.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。
14.用SELECT语句的连接查询,查询学生的学号、姓名、选修的课程名及成绩
四、实验实习过程或算法(源程序、代码)
1.用Create Table建立Student表代码:
CREATE TABLE Student
运行结果:
9用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数代码及运行结果
代码:SELECT COUNT(*) FROM Student;
运行结果:
10.分别用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose表中C1课程的最高分、最低分、总分、平均分。代码及运行结果
[^...]负值字符集合表示匹配未包含的任意字符;
如:sysabc:均不匹配而sabcys: NOT LIKE‘sys%’可以匹配
可以用逻辑学的方法来理解,前者可以看成s^y^s^即(s+y+s)^,后者看成(sys)^。

查询的操作实验报告

查询的操作实验报告

一、实验目的1. 熟悉查询操作的基本概念和常用方法。

2. 掌握SQL语言中查询语句的编写和执行。

3. 培养数据库操作能力,提高数据检索效率。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 数据库:StudentDB(学生数据库)三、实验内容1. 创建查询语句,实现对学生信息的查询。

2. 使用WHERE子句进行条件查询。

3. 使用AND、OR等逻辑运算符进行组合查询。

4. 使用ORDER BY子句进行排序查询。

5. 使用LIMIT子句进行分页查询。

四、实验步骤1. 登录MySQL数据库管理系统。

2. 连接数据库StudentDB。

```sqlCREATE DATABASE IF NOT EXISTS StudentDB; USE StudentDB;```3. 创建学生表(Student)。

```sqlCREATE TABLE IF NOT EXISTS Student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender CHAR(1),class VARCHAR(50));```4. 插入学生数据。

```sqlINSERT INTO Student (name, age, gender, class) VALUES('张三', 20, '男', '计算机科学与技术'),('李四', 21, '女', '市场营销'),('王五', 22, '男', '电子商务'),('赵六', 20, '女', '英语');```5. 查询所有学生信息。

```sqlSELECT FROM Student;```6. 使用WHERE子句进行条件查询,查询年龄为20岁的学生信息。

最新数据库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'王%';思考:找出所有地址中含有“中山”的雇员的号码和部门号。

《数据库系统原理》实验报告

《数据库系统原理》实验报告

金陂科扶^肉生实验报(理工类)课程名称: 学生学号: 所属院部: 数据库系统原理专业班级:1412101055 学生姓名:软件工程学院指导教师:20J5 20 —学年14软件工程1班孟祥辉麻春艳第—二学期金陵科技学院教务处制告书写要求实验报告原则上要求学生手写,要求书写工整。

若因课程特点需 打印的,要遵照以下字体、字号、间距等的具体要求。

纸张一律采用 A4的纸张。

实验报告百 实验报告中一至四项内容为必填项, 包括实验目的和要求;实验 仪器和设备;实验内容与过程;实验结果与分析。

各院部可根据学科 特点和实验具体要求增加项目。

填写注意事项细致观察,及时、准确、如实记录。

准确说明,层次清晰。

尽量采用专用术语来说明事物。

外文、符号、公式要准确,应使用统一规定的名词和符号。

应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验 报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报 告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课 程的实验大纲。

刁写说明(1) (2) (3) (4) (5)实验项目名称:数据库定义与操作语言 实验学时:2同组学生姓名:孟陈、陈晓雪、季佰军批改教师:实验地点: 1318 实验日期:5.19实验成绩: 批改时间:、实验目的1、理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。

2、掌握SQL册亨徐设计基本规范,熟练运用SQL语言实现数据基本查询,包括单表查询、分组统计查询和连接查询3、掌握SQL嵌套查询和集合查询等,各种高级查询的设计方法等.4、熟悉数据库的数据更新操作,能够使用sql语句对数据库进行数据的插入、修改、删除操作。

5、熟悉sql语言有关系图的操作,能够熟练使用sql语言来创建需要的视图,定义数据库外模式,并能使用所创建的视图实现数据管理。

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

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

实验题目二、数据的查询及更新一、实验目的熟悉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 学生作业表
写出如下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语言查询相关的语句用法。

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

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

相关文档
最新文档