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 查询选修了“数据结构”的学生学号和姓名五、实验总结列名写错:修改列名:心得体会:通过实验,了解了一些基本的查询操作,会一些的基本操作。

数据库实验(实验七数据查询)实验报告答案

数据库实验(实验七数据查询)实验报告答案

实验7数据查询【实验内容】7.1单表查询1、指定列或全部列查询1) 查询S表中全体学生的详细记录use jxsk select * from S出言岂select - f Tdtt s|.1结杲SEX AGE DEPT NATEVEJ_a,i soi王青山19计算机NULL2SI—赵亦17软件MULL 35218计算机NULL4S3弓綽明胃IS信息NULL554李四21包动ft NULL&S519软件NULL756昊丽20计算机NULL8S7范思明女ie NULL9S820自动化NULL10S919枫牛NULL2) 查询所有学生的姓名及其岀生年份。

use jxsk select SN, 2012 - AGEfrom S1「王諭】1&932赵亦1995J钱尔15944號慣明隔&李四1S516周展憫15537昊丽13828范思明1994S?«1S9210张海涛2、按条件查询及模糊查询1)查询考试成绩有不及格的学生的学号。

use jxsk selectdistinct SNOfrom SCwhere SCORE<602)查询年龄在20 —23岁之间的学生的姓名、系名和年龄use jxsk select SN,DEPT, AGEfrom Swhere AGE>=20 and AGE<= 30□ us* select 5N, DEET, troni 5L AGE>=20 ard AGE<-30V结果J消息| SH DEPT ,<SE1[ SS'J自动化212昊丽计算机203补珊自动化203)查询姓李的学生的姓名、学号和性别。

use jxsk select SN, SNO, SEXfrom S where SNlike '李%'□ use jxsk select ^NO f SEX from 5 wriere EE 丄是'李虽「Array4) 查询名字中第二个字为明”字的男学生的姓名和系名use jxsk select SN, DEPTfrom Swhere SNlike '_% 明’and SEX='男’SN DEPTi !信息h^iiiiauaB in KI ■■■■■&■■■■#3、对查询结果排序1) 查询信息系、计算机系学生的姓名、系名,结果按系名升序,按姓名降序排序。

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

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

一、实验目的:通过该实验掌握应用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查询实验报告讲解

实验题目: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&gt;=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)&gt;2 select sno,sum(score)as 总成绩from student_course group by sno havingsum(score)&gt;=200 order by 总成绩desc 【实验体会】利用select语句可以实现对已有表中数据的查询的。

数据库系统原理实验报告-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平均分。

数据库原理与应用 实验报告 第7次 SQL语言(5)数据查询—集合查询与总结

数据库原理与应用 实验报告 第7次 SQL语言(5)数据查询—集合查询与总结

《数据库原理及应用》电子实验报告题目:SQL语言(5)数据查询—集合查询与总结日期20 . . 姓名QQ实验环境:Windows XP,Sql Server2005实验目的:1.理解集合查询的意义2.了解标准SQL直接支持的集合操作种类3.了解一般商用数据库支持的集合操作种类4.掌握并、交、差操作5.总结并深入体会SQL查询实验内容:1.集合查询1)嵌套查询的定义2)标准SQL直接支持的集合操作种类3)一般商用数据库支持的集合操作种类2.采用的数据库表1)库表结构定义2)库表记录3.并操作(写出题目、关系代数表达式和sql语句)1)并操作的形式2)实例操作【实例1】【实例2】4.交操作1)交操作的意义2)实例操作(写出题目、关系代数表达式和sql语句及sql环境运算截图)【实例1】【实例2】【实例3】5.差操作(写出题目、关系代数表达式和sql语句及sql环境运算截图)1)差操作的意义2)实例操作【实例1】【实例2】【实例3】【实例4】6.对集合操作结果的排序(写出题目、sql语句及sql环境运算截图)1)EXISTS谓词2)NOT EXISTS谓词3)全称量词 的实现4)实例操作【实例1】【实例2】【实例3】【实例4】7.SQL查询的总结1)SELECT语句的一般格式2)……(自由总结、深入体会)3)……(自由总结、深入体会)……完成情况:1 完成了***************2 完成了****************出现的问题:(小四宋体)1 在完成**任务时,遇到了**问题,解决思路是****,解决步骤时*****。

2 在完成**任务时,遇到了**问题,解决思路是****,解决步骤时*****。

*****************。

SQL_数据查询

SQL_数据查询
使用in子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。
列出学号为0001的学生的分数比学号为0002号的学生的最低分数高的课程编号和分数。
列出学号为0001的学生的分数比学号为0002号的学生的最高成绩还要高的课程编号和分数。
(8)
查询分数在80-90范围内的学生的学号、姓名和分数信息。
)grade
oncurriculum.课程编号=grade.课程编号;
五﹑调试和测试清单
(1)
(2)在studentdb数据库中使用select语句进行基本查询。
在student_info表中,查询每个学生的学号、姓名和出生日期信息。
查询学号为’0002’的学生的姓名和家庭住址。
找出所有男同学的学号和姓名。
grade.课程编号=curriculum.课程编号and
性别='男';
查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程编号和分数。
selectstudent_info.学号,姓名,grade.课程编号,分数fromstudent_info,grade,curriculum
wherestudent_info.学号=grade.学号and
查询学习“C语言程序设计”课程的学生的学号、姓名和分数。
查询所有男同学的选课情况,要求列出学号、姓名、课程名称和分数。
查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程编号和分数。
查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生的总成绩为空。
⑥为grade表添加数据行:学号为0004、课程编号为0006、分数为76。查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。

SQL语句大全 及实验内容

SQL语句大全 及实验内容

1、查询全体学生的学号和姓名。

select SNO,SN from S2、查询全体学生的所有基本信息(仅针对Student表)。

select*from S3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加分。

select SNO,CNO,SCORE+5 as SCORE from sc4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。

SELECT SNO as学号,SN as姓名,SEX as性别,AGE as年龄,DEPT as系别from S5、显示所有选课学生的学号,去掉重复结果。

select distinct sno from sc6、查询成绩在分以上的学生选课记录。

select*from sc where score>807、查询计算机系所有学生的学号和姓名。

select SNO,SN from s where DEPT='计算机'8、查询成绩在~分的学生选课记录。

select*from sc where score between 80 and 909、查询年龄不在~的学生记录。

select*from S where age not between 20 and 30 10、查询所有姓“李”的学生记录。

select*from S where sn like'李%'11、查询无考试成绩(成绩为空值)的学号、课程号。

select distinct sno from sc where score is null 12、查询考试成绩非空值的学号、课程号。

select sno,cno from sc where score is not null13、查询自动化系年龄小于岁的学生记录。

select*from s where dept='自动化'and age<2014、查询选修了“C1”或“C2”课程的选课记录。

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

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

二、实验环境1)Windows 102)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.查询于兰兰的选课信息,列出学号、姓名、课程名。

编译原理实践第7次课 (sql查询语句解析)

编译原理实践第7次课 (sql查询语句解析)

编译原理实践第7次课(sql查询语句解析)摘要:1.编译原理实践第7次课概述2.SQL查询语句基本概念与结构3.SQL查询语句的解析方法4.实践过程中遇到的问题与解决方案5.总结与展望正文:【1】编译原理实践第7次课概述在编译原理实践课程的第七次课中,我们重点学习了SQL查询语句的解析。

SQL(Structured Query Language,结构化查询语言)是一种广泛应用于数据库管理系统中的查询语言,掌握SQL查询语句的编写与解析对于学习编译原理以及实际应用具有重要意义。

【2】SQL查询语句基本概念与结构SQL查询语句主要由以下几部分组成:1. SELECT:表示查询的关键字。

2.列名:指定查询的列名。

3.FROM:指定查询的表名。

4.WHERE:指定查询条件。

一个简单的SQL查询语句示例:```SELECT 列名1, 列名2 FROM 表名WHERE 条件;```【3】SQL查询语句的解析方法SQL查询语句的解析主要分为以下几个步骤:1.词法分析:将SQL查询语句分解为单个单词,如SELECT、FROM等。

2.语法分析:根据语法规则,将单词组合成合法的SQL查询语句。

3.语义分析:检查查询语句中的列名、表名和条件是否合法,以及查询结果是否符合预期。

4.优化:对查询语句进行优化,提高查询效率。

5.执行:根据优化后的查询语句,从数据库中获取数据并返回。

【4】实践过程中遇到的问题与解决方案在实践过程中,我们可能会遇到以下问题:1.列名或表名拼写错误:在编写SQL查询语句时,要注意列名和表名的拼写,避免因为错误拼写导致查询失败。

2.条件不合法:确保查询条件符合SQL语法规则,如使用正确的比较运算符、范围运算符等。

3.缺少关键字:如SELECT、FROM等,导致查询语句不完整。

解决方案:1.仔细检查列名和表名的拼写,对照数据库表结构进行核对。

2.熟悉SQL查询语句的语法规则,确保编写合法的查询条件。

数据库原理及应用实验指导实验SQL语言SELECT查询操作

数据库原理及应用实验指导实验SQL语言SELECT查询操作

实实验验44 S S Q Q L L 语语言言————S S E E L L E E C C T T 查查询询操操作作 实验示例实验示例中要使用包括如下三个表的“教学管理”数据库JXGL :(1)学生表Student ,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记作:Student(Sno,Sname,Ssex,Sage,Sdept),其中主码为Sno 。

(2)课程表Course ,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit),其中主码为Cno 。

(3)学生选课SC ,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作:SC(Sno,Cno,Grade),其中主码为(SNO,CNO)。

1、在SQL SERVER 查询分析器或企业管理器(以具有相应操作权限的某用户登录)的SQL 操作窗口中执行如下命令创建数据库。

需要说明的是不同数据库系统其创建数据库的命令或方式有所不同。

CREATE DATABASE JXGL2、刷新数据库目录后,选择新出现的JXGL 数据库,在SQL 操作窗口中,创建Student 、SC 、Course 三表及表记录插入命令如下:Create Table Student( Sno CHAR(5) NOT NULL PRIMARY KEY(Sno),Sname VARCHAR(20),Sage SMALLINT CHECK(Sage>=15 AND Sage<=45),Ssex CHAR(2) DEFAULT '男' CHECK (Ssex='男' OR Ssex='女'),Sdept CHAR(2));Create Table Course( Cno CHAR(2) NOT NULL PRIMARY KEY(Cno),Cname VARCHAR(20),Cpno CHAR(2),Ccredit SMALLINT);Create Table SC( Sno CHAR(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(2) NOT NULL,Grade SMALLINT CHECK ((Grade IS NULL) OR (Grade BETWEEN 0 AND 100)), PRIMARY KEY(Sno,Cno),FOREIGN KEY(Cno) REFERENCES Course(Cno));INSERT INTO Student VALUES('98001','钱横',18,'男','CS');INSERT INTO Student VALUES('98002','王林',19,'女','CS');INSERT INTO Student VALUES('98003','李民',20,'男','IS');INSERT INTO Student VALUES('98004','赵三',16,'女','MA');INSERT INTO Course VALUES('1','数据库系统', '5',4);INSERT INTO Course VALUES('2','数学分析',null ,2);INSERT INTO Course VALUES('3','信息系统导论','1',3);INSERT INTO Course VALUES('4','操作系统原理','6',3);INSERT INTO Course VALUES('5','数据结构','7',4);INSERT INTO Course VALUES('6','数据处理基础',null,4);INSERT INTO Course VALUES('7','C语言','6',3);INSERT INTO SC VALUES('98001','1',87);INSERT INTO SC VALUES('98001','2',67);INSERT INTO SC VALUES('98001','3',90);INSERT INTO SC VALUES('98002','2',95);INSERT INTO SC VALUES('98002','3',88);[例1] 查考试成绩大于等于90的学生的学号。

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

《数据库原理及应用》电子实验报告题目:SQL语言数据定义日期姓名实验环境:Windows 7,Sql Server2005实验目的:1.熟悉Sql Server2005环境2.掌握基本表的定义、删除和修改3.掌握索引的建立和删除实验内容:1.Sql Server2005的启动Sql Server2005的启动方法:⑴单击“开始”按钮→“所用程序”→“Microsoft SOL Server 2005”→“SQL Server Management Studio”。

之后将会出现如图1所示的“连接到服务器”的窗口。

⑵安装时将 Sql Server2005 的快捷图标放到桌面或锁定到任务栏打开Sql Server2005界面(如下图)单击‘连接’,进入界面(如下图)点击‘新建查询’,进入空白页面,编写程序。

2. 定义基本表的语句格式1)create语句SQL 语言使用CREATE TABLE语句定义基本表,其基本格式如下:CREATE TABLE <表名>(<列名> <数据类型>[ <列级完整性约束条件> ][,<列名> <数据类型>[ <列级完整性约束条件>] ] …[,<表级完整性约束条件> ] );<表名>:所要定义的基本表的名字<列名>:组成该表的各个属性(列)<列级完整性约束条件>:涉及相应属性列的完整性约束条件<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件2)drop语句当某个基本表不再需要时,可以使用DROP TABLE语句删除它。

其一般格式为:DROP TABLE <表名> [RESTRICT | CASCADE];基本表删除后:①数据、表上的索引都删除②表上的视图往往仍然保留,但无法引用删除基本表时,系统会从数据字典中删去有关该基本表及其索引的描述。

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

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

实验一简单查询在订单数据库中完成如下的查询(1) 查询所有业务部门的员工姓名、职称、薪水命令:select employeeName ,headShip ,salaryfrom Employeewhere department ='业务科'结果:(2) 查询名字中含有“有限”的客户姓名和所在地。

命令:select CustomerName ,addressfrom Customerwhere CustomerName like '%有限%'结果:(3) 查询出姓“王”并且姓名的最后一个字为“成”的员工。

命令:select *from Employeewhere employeeName like '王%成'结果:(4) 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示。

命令:select employeeName ,department ,headShip ,address ,case sexwhen 'M' then '男'when 'F' then '女'end as 性别from Employeewhere address like '%上海%' or address like '%南昌%' and sex ='F' 结果:(5) 在表sales中挑出销售金额大于等于10000元的订单。

命令:SELECT orderNo ,sum(quantity *price ) as totalFROM OrderDetailGROUP BY orderNoHA VING sum(quantity *price )>10000结果:(6) 选取订单金额最高的前10%的订单数据。

命令:select TOP 10 PERCENT orderNo , sum(quantity *price ) as totalfrom OrderDetailgroup by orderNoORDER BY total desc结果:(7) 查询出职务为“职员”或职务为“科长”的女员工的信息。

数据库原理 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的数据查询

数据库原理及应用实验报告实验2、SQL的数据查询2.1实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。

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

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

●对查询结果排序和分组。

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

(2)连接查询●笛卡儿连接和等值连接。

●自连接。

●外连接●复合条件连接。

●多表连接。

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

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

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

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

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

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

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

1.4 实验结果(1)查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。

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

考试成绩>=60 否则=0(2)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序排列。

(3)查询所有选了“数据库原理及其应用”课程的学生编号和姓名。

(4)求出选择了同一个课程的学生对。

(5)查询学号S52的学生的姓名和选修的课程名称及成绩。

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

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

实验题目二、数据的查询及更新一、实验目的熟悉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)。
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0078','王振','男', 21,'JSJ')
insert into Student (Sno,2','赵三','男', 22,'SX')
Sage smallint check(sage>16) ,
Sdept char(10) not null default 'JSJ' ,
primary key (sno)
)
create index ix_student_sname ON student(sname)
create table course(
insert into student (sno,sname,ssex,sage,sdept) values ('8003','钱凯','男',22,'JSJ')
insert into student (sno,sname,ssex,sage,sdept) values ('8004','王华','男',21,'SX')
create table SC(
Sno ud_sno ,
Cno char(4) ,
Grade int check(grade<=100) ,
constraint pk_sc primary key (sno,cno),
foreign key (sno) references student(sno) ,
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0004','杨秀红','女',21,'JSJ')
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0001','周志林','男',20,'SX')
foreign key (cno) references course(cno) ,
)
create index ix_sc_cno ON sc(cno)
--添加数据
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0003','陈小明','男',20,'SX')
Cno char(4) ,
Cname char(16) ,
Cpno char(4) ,
Ccredit int check (Ccredit >=0 and Ccredit<=5),
check( cno<>cpno) , --约束
primary key (cno)
)
create index ix_course_cpno ON course(cpno)
insert into student (sno,sname,ssex,sage) values ('8005','张英','女',21)
insert into student (sno,sname,ssex,sage) values ('8006','赵章','女',22)
insert into student (sno,sname,ssex,sage) values ('8007','钱利','男',23)
70B0A14155718F1746C9E61DECDDFCCA9FE601F7FF5D30B6389406271102E38ED
--drop database school
create database school --创建数据库
go
/*CREATE DATABASE school
ON
( NAME = school_dat,
insert into student (sno,sname,ssex,sage) values ('8008','王铁','男',21)
insert into course(Cno,Cname,Cpno,Ccredit) values ('1001','高等数学','',5)
insert into course(Cno,Cname,Cpno,Ccredit) values ('1002','离散数学','1001',3)
insert into student (sno,sname,ssex,sage,sdept) values ('8001','张华','男',23,'SX')
insert into student (sno,sname,ssex,sage,sdept) values ('8002','赵颖','女',21,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0081','刘亭','女', 22,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0091','贺秋雪','女',20,'SX')
FILENAME = 'd:\school1.mdf',
SIZE = 2,
MAXSIZE = 4,
FILEGROWTH = 1 )
LOG ON
( NAME =school_log,
FILENAME = 'd:\school1.ldf',
SIZE = 2MB,
MAXSIZE = 3MB,
FILEGROWTH = 1MB ) */
go
use school
go
EXEC sp_addtype ud_sno,'char(6)'
go
--创建表
create table Student (
Sno ud_sno ,
Sname char(10) not null unique ,
Ssex char(2) check (ssex='男' or ssex='女') ,
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0009','钱明明','男',20,'SX')
insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ('0002','李文庆','男',23,'JSJ')
相关文档
最新文档