当前位置:首页 » 编程语言 » sql查询实验

sql查询实验

发布时间: 2022-12-14 02:22:22

sql语言实验报告

1>
select
*
from
教师表
where
系别
='cs';
2>
select
姓名,2011-年龄
as
出生日期
from
学生表
3>
select
*
from
学生表
where
年龄<=20
and
系别='cs';
4>
select
*
from
学生表
where
年龄
not
between
18
and
20;
5>
select
姓名,年龄
from
教师表
where
系别
in('cs','is');
6>
select
*
from
教师表
where
姓名
like
'%敏';
7>
select
*
from
选课表
where
先修课
is
null;
8>
select
count(*)
from
教师表
9>
select
avg(成绩),max(成绩),min(成绩)
from
选课表
where
课程号=5;
10>
select
count(*)
from
选课表
group
by
课程号

❷ sql 实验:表查询-高级

CREATEDATABASESchoolInfo;
CreatetableDepartment
(
DepIDintprimarykey,
DepNamevarchar(20)NOTNULL
);
CreatetableCourse
(
CourseIDintprimarykey,
CourseNamevarchar(20)notnull
);
CreatetableStudent
(
StuIDchar(10)constraintpkStuIDprimarykey
constraintchkStuIDcheck(StuIDlike'[A,B,Z][0-9][0-9][0-9][0-9][0-9]'),
StuNamevarchar(20)notnull,
(StuAgebetween15and100),
StuSexchar(2)constraintchkStuSexcheck(StuSexin('男','女'))
constraintdefStuSexdefault'男',
StuCityvarchar(20),
(Stugradebetween0and100),
(DepID),
);
CreatetableSC
(
StuIDchar(10)(StuID),
(CourseID),
(StuID,CourseID),
(Scorebetween0and100)
);

--已插入数据
--问:
--写出以下查询语句
--1.要显示计算机系学生的学号,姓名,系号,系名字段。
SELECTSS.STUID,SS.STUNAME,DD.DEPID,DD.DEPNAME
FROMSTUDENTSS,DEPARTMENTDD
WHERESS.DEPID=DD.DEPID
ANDDD.DEPNAME='计算机系';
--2.显示计算机系学生的姓名,课程名及成绩。
SELECTSS.STUNAME,CC.COURSENAME,SSCC.SCORE
FROMSTUDENTSS,DEPARTMENTDD,SCSSCC,COURSECC
WHERESS.DEPID=DD.DEPID
ANDSS.STUID=SSCC.STUID
ANDSSCC.COURSEID=CC.COURSEID
ANDDD.DEPNAME='计算机系';
--3.以系表为主表匹配学生表,当有学生属于相应的系时,则显示该系的系名,学生学号及学生姓名,如果某个系没有学生,则显示一条包含系名,而学生学号,学生姓名均为NULL的信息。
SELECTDD.DEPNAME,SS.STUID,SS.STUNAME
FROMDEPARTMENTDD,STUDENTSS
--左连接
WHEREDD.DEPID=SS.DEPID(+);
--4.使用子查询查找和“Tom”同城市的同学姓名。
SELECTSS.STUNAME
FROMSTUDENTSS
WHERESS.STUCITY=(="Tom");
--5.使用子查询查找选修了“数据库”课程的学生姓名。
SELECTSTUNAME
FROMSTUDENT
WHERESTUIDIN
(SELECTSTUID
FROMSCSSCC
WHERESSCC.COURSEID=
(='数据库'));
--6.要显示院系平均入学成绩大于所有学生平均成绩的记录
SELECTDD.DEPID,DD.DEPNAME
FROMDEPARTMENTDD,STUDENTST
WHEREDD.DEPID=ST.DEPID
GROUPBYST.DEPID
HAVINGAVG(ST.STUGRADE)>(SELECTAVG(SS.STUGRADE)FROMSTUDENTSS);
--7.查询没有任何一门课程成绩在80分以下的学生的学号和姓名。
SELECTSS.STUID,SS.STUNAME
FROMSTUDENTSS
WHERESS.STUIDNOTIN
(SELECTSSCC.STUIDFROMSCSSCCWHERESSCC.SCORE<80);
--8.查询选修“数据库原理”课程成绩最高的学生姓名
SELECTSS1.STUNAME
FROMSTUDENTSS1,SCSSCC1,COURSECC1
WHERESS1.STUID=SSCC1.STUID
ANDSSCC1.COURSEID=CC1.COURSEID
ANDCC1.COURSENAME='数据库原理'
ANDSSCC1.SCORE=(SELECTMAX(SSCC.SCORE)
FROMSCSSCC,COURSECC
WHERESSCC.COURSEID=CC.COURSEID
ANDCC.COURSENAME='数据库原理'
GROUPBYSSCC.COURSEID);
--9.将计算机系所有学生成绩置为0.
UPDATESCSSCC1
SETSSCC1.SCORE=0
WHERESSCC1.STUIDIN(SELECTSS.STUID
FROMSTUDENTSS,DEPARTMENTDD
WHERESS.DEPID=DD.DEPID
ANDDD.DEPNAME='计算机系');
--10.查询非“计算机系”的所有年龄小于“计算机系“最小年龄的学生信息。
SELECTST.*
FROMSTUDENTST,DEPARTMENTDE
WHEREST.DEPID=DE.DEPID
ANDDD.DEPNAME<>'计算机系'
ANDST.STUID<(SELECTMIN(SS.STUAGE)
FROMSTUDENTSS,DEPARTMENTDD
WHERESS.DEPID=DD.DEPID
ANDDD.DEPNAME='计算机系');

看看是不是你要的 累死俺了

❸ SQL实验:统计查询和组合查询

/*
药品(编号,名称,价格,厂商)
处方(药品编号,数量,医生编号)
医生 (编号,姓名,科室,职称)
*/
--create database Hospital
--go
--use hospital
--create table medi
--(
-- pk_id int,
-- name varchar(100),
-- price money,
--make varchar(200)
--)

--create table prescription
--(
-- pk_id int,
-- num int,
-- doctor_id int
--)

--create table doctors
--(
-- pk_id int,
--name varchar(10),
--office varchar(50),
--jobtitle varchar(50)
--)

--insert into medi select '1','清凉油','1','常德A厂'
--union all select '2','青霉素','10','桃源B厂'
--union all select '3','白加黑','10','衡阳c厂'
--union all select '4','盐水','10','耒阳D厂'

--insert into doctors select '001','A医师','外科','中级'
--union all select '002','B医师','内科','高级'
--union all select '003','C医师','骨科','初级'
--union all select '004','D医师','脑外科','特级'

--insert into prescription select '1','1','001'
--union all select '2','2','002'
--union all select '1','3','003'
--union all select '3','4','004'
--union all select '4','2','002'
--union all select '1','2','001'
--union all select '2','2','003'
--union all select '3','2','004'

--1 统计每种药品的使用数量。
select a.pk_id,b.name, sum(num) 数量 from prescription a left join medi b
on a.pk_id=b.pk_id
group by a.pk_id, b.name
--2 统计提供三种以上药品的厂商。
由于开始没考虑到,现插入一些数据
--insert into medi select '5','清凉油B型','1','常德A厂'
--union all select '6','青霉素B型','10','常德A厂'
--union all select '7','白加黑B型','10','常德A厂'
--union all select '8','盐水A型号','10','耒阳D厂'
--union all select '9','盐水C型号','10','耒阳D厂'
--union all select '10','盐水D型号','10','耒阳D厂'
select make,count(make) from medi group by make having count(*)>3

--3 统计每个科室“青霉素”用量。
这个查询语句不严谨。需要具体情况分析
select a.num,b.office from prescription a left join doctors b
on a.doctor_id=b.pk_id where a.pk_id=2

--4统计从没开过“秦霉素”的医生信息
也不够严谨。
select * from prescription a left join doctors b on a.doctor_id=b.pk_id
where a.pk_id<>2

饿了,没能量了,多医院的业务不太清楚,所以数据比较有点滑稽。呵呵
网络很活跃啊,等我写完,已近落后了

❹ SQL实验:嵌套查询和连接查询

1
嵌套:
select 姓名 from student where 学号 in (select 学号 from 选课 where 课号 in (select 课号 from 课程 where 课名='数据库原理'))
连接:
select 姓名 from 学生 join 选课 on 学生.学号=选课.学好 join 课程 on 选课.课号=课程.课号 where 课名='计算机原理'
2 嵌套
select 学号,年龄,性别,系名 from 学生 where 年龄 >(select max(年龄) from 学生 where 系名=计算机系)
3 连接
select 课名,成绩
from 学生 join 选课 on 学生.学号=选课.学好
join 课程 on 选课.课号=课程.课号
where 姓名='张力'

❺ SQL基础查询2

1、select sum(总数量) as '总数量' from sell where 商品编号=2
2、select * from employees where (姓名 like '李*')
3、select 商品名称 from goods where price between '2000' and '3000'
4、select 商品名称,进货价格 from goods order by 进货价格 desc
5、select * from goods order by 商品数量 asc ,进货价格 desc
6、select sum(人数) as '总人数' from employees where 部门='财务部'
7、select sum(人数) as '总人数' from employees group by 部门
8、select sum(人数) as '总人数' from employees group by 部门,性别
9、select sum(人数) as '总人数' from employees where 性别=‘男’group by 部门
10.select 商品名称,零售价 from goods where 生产厂商 in('惠普','联想','佳能')
11.select 姓名,电话号码 from employees where (电话号码 like '010?21*')
12. select 零售价格=零售价格*0.9 from goods

❻ 100分高分求sql语言的数据库实验报告...

以下是日期的查询
简单的例子
select
*
from
View_Change
where
Wname='AAAA'
select
*
from
View_Change
where
Updatetime>'2007-10-13'
下面是统计
select
Wno,Count(Wnum)
as
统计
from
View_Change
where
Updatetime>'2007-10-13'
group
by
Wno
如果改为复杂点点的统计的话
select
Wno,Count(Wnum)
as
统计
from
View_Change
where
Updatetime>='2008-01-01'
and
Updatetime<'2009-01-01'
and
Wno=1
and
Type='出库'
group
by
Wno
ftp://220.184.188.33/
里面的几个文档案就是创建的过程
我也好久没做过了
都忘记了
大部分都是企业管理器内做的

热点内容
语音服务器未连接如何连接视频 发布:2025-01-23 07:59:11 浏览:882
日流量10万需要什么类型服务器 发布:2025-01-23 07:58:27 浏览:500
服务器获取地址失败 发布:2025-01-23 07:55:18 浏览:849
java修饰 发布:2025-01-23 07:45:03 浏览:183
oppor9s照片加密 发布:2025-01-23 07:37:57 浏览:712
javahtml乱码 发布:2025-01-23 07:37:56 浏览:539
sqlserverc 发布:2025-01-23 07:34:15 浏览:699
mysql怎么用数据库 发布:2025-01-23 07:21:02 浏览:998
怎么访问暗网 发布:2025-01-23 07:02:04 浏览:666
无线配置代理选什么 发布:2025-01-23 06:52:54 浏览:825