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语句的重要组成部分,是编程人员与数据库管理人员必不可少的工具,通过实验达到以下目的:(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查询——简单查询【实验目的与要求】一、实验目的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查询语句

数据库系统原理实验报告姓名: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)数据查询—集合查询与总结

《数据库原理及应用》电子实验报告题目: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_数据查询

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