1)Students表:包含SNo,SName,SSex,SClass,SAge 其中SNo为主键
2)Courses表:包含CNo,CName,CGrade(开设学期),CScore(学分)、IsProfession(是否是专业课) 其中CNo为主键
3)Scores表:包含SNo,CNo,Score 其中SNo和CNo分别与Students中的SNo和Courses中的CNo有外键关系。
1)查询全班年龄在20岁至24岁之间的所有学生的信息。
select from Students where SAge>=20 and SAge<=24 (是否包含20和24,修改相关=号)
2)查询开设学期为2的所有的专业课程号、课程名称、和学分。
select CNo,CName,CScore from Courses where CGrade=2 and IsProfession=1(假设专业课是此值为1)
3)查询学号为000004学生的所有课程的成绩。
select ScoresSNo,ScoresCNo,CoursesCName,ScoresScore from Scores INNER JOIN Courses ON ScoresCNo=CoursesCNo where ScoresSNo='000004'
4)查询姓名为“王明”的学生的所有及格课程的课程名称和成绩。
select ScoresSNo,ScoresCNo,CoursesCName,ScoresScore from Scores INNER Join
Courses ON ScoresCNo=CoursesCNo where ScoresSNo in (select SNo from Students where SName='王明') and ScoresScore>=60
5)查询班级为“0401”的所有学生的课程名为“SQL数据库管理”的成绩,按成绩降序的方式排列,如果成绩相同,则按照学号进行排列。
select ScoresSNo,ScoresCNo,CoursesCName,ScoresScore from Scores INNER Join
Courses ON ScoresCNo=CoursesCNo where ScoresSNo in (select SNo from Students
where SClass='0401' order by ScoresScore
(1)select 书名 from 图书 where 定价>20
(2)select avg(定价) 均价 from 图书
(3)update 图书 set 定价=定价95% where 出版社编号 in
(select 出版社编号 from 出版社 where 出版社名称='科学出版社' )
(4)select 书名,第一作者姓名,出版社名称 from 图书,作者,出版社,著书
where 图书图书编号=著书图书编号 and 著书作者编号=作者作者编号
and 图书出版社编号=出版社出版社编号
(5)create view 图书信息(图书编号,书名,出版社编号,定价)
as select 图书编号,书名,出版社名称,定价
from 图书,出版社 where 图书出版社编号=出版社出版社编号 and
出版社名称='人们出版社'
你的报酬表的创建肯定有错,怎么主码和外码都是职工号和工程编号。
我把上面的几个问题给你写出来了,你就模仿我写的做一下下面的问题,自己锻炼锻炼,
如果还不会的话再问我。
1、创建数据库
create
database
学生成绩数据库
on
primary
(name='学生成绩数据库_mdf',
filename='e:\学生成绩数据库mdb',
size=1,
maxsize=10,
filegrowth
=10%)
log
on
(name='学生成绩数据库_ldf',
filename='e:\学生成绩数据库ldf',
size=1,
maxsize=10,
filegrowth
=10%)
2、创建课程表
create
table
课程表
(课程号
char(6)
primary
key,
课程名称
char(20)
not
null,
任课教师
char(8))
3、
创建学生表
create
table
学生表
(学号
char(6)
primary
key,
姓名
char(8)
not
null,
性别
char(2)
constraint
ck_性别
check(
性别
in
('男','女')),
民族
char(20)
not
null
default
'汉')
4、创建成绩表
create
table
成绩表
(学号
char(6)
not
null
foreign
key(学号)
references
学生表(学号),
课程号
char(6)
not
null
foreign
key(课程号)
references
课程表(课程号),
分数
int
constraint
ck_分数
check(分数
between
0
and
150))
5、添加信息
insert
课程表(课程号,课程名)
values
('100001',
'大学语文')
insert
课程表(课程号,课程名)
values
('100002',
'大学英语')
6
写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码
create
view
成绩表视图
as
select
学生表学号,姓名,课程表课程号,课程名称,成绩
from
学生表,课程表,成绩表
where
学生表学号=成绩表学号
and
成绩表课程号=课程表课程号
7
写出计算大学语文课程成绩最高分、最低分、平均分的代码
select
max(分数)
'最高分数',min(分数)
'最低分数',avg(分数)
'平均分数'
from
成绩表
where
学号
in
(select
学号
from
课程表
where
课程名称='大学语文')
8、
检索姓李的女同学的信息:姓名、性别、民族
select
姓名,性别,民族
from
学生表
where
姓名
like
'李%'
and
性别='女'
1、select from 学生信息 where 年龄=18;
2、select 学号,姓名,班级 from 学生信息 where 班级='08电商1';
3、select 姓名,班级 from 学生信息 where 姓名 like '李%';
4、select from 老师信息 where 姓名 like '_丽%';
5、select 班级,姓名,年龄 from 学生信息 where 班级='08电商1' or 班级='08物流2';
6、select 工号,姓名,部门 from 教师信息 where 工资>2500;
7、select 班级,count() as 人数 from 学生信息 group by 班级;
8、select top 10 学号,姓名 from 学生信息 order by 年龄 desc;
9、select from 学生信息 where 班级='08电商2' order by 学号 asc;
10、select 性别,sum(年龄)/count(年龄) as 平均年龄 from 学生信息 group by 性别;或者select 性别,avg(年龄) as 平均年龄 from 学生信息 group by 性别
第一个
select from s where sno in(
select sno from sc where cno in(
select cno from c where cteacher='李明'
)
)
第二个
select ssname,sc,sum(sgrade) from s left join sc on ssno=scsno
where scsgrade>=60
group by ssname第三个
create index c_cno_index ON c(cno)
第二题是说查询每科都大于80分的这个人的平均成绩还是说所有科目所有人的平均成绩?如果是后者用一个Sql语句得到结果不行吧?有高人解答吗?如果是前者,还有可能。
借用楼上的两句:
1 select convert(varchar(10),getdate(),120)
2 select name,avg(score) from table_score a
where not exists ( select 1 from table_score b where aname = bname and bscore <= 80 )
group by name
3select year,sum(m1) as m1,sum(m2) as m2,sum(m3) as m3 from (
select year,case month when 1 then amount else 0 end as m1,case month when 2 then amount else 0 end as m2,case month when 3 then amount else 0 end as m3 from tabe) group by year
use 教师数据库
go
/1、创建教师表/
create table 教师表
(
教师编号 char(6) primary key,
姓名 varchar(10) not null,
性别 varchar(10) not null,
职称 varchar(10),
身份z号 varchar(10) unique nonclustered
)
/2、创建课程表/
create table 课程表
(
课号 char(6) primary key,
名称 varchar(20) not null
)
/3、创建任课表/
create table 任课表
(
ID int null,
教师编号 char(6) references 教师表(教师编号),
课号 char(6) references 课程表(课号),
课时数 int
)
/4、将下列课程信息添加到课程表的代码/
insert 课程表 values ('100001','SQL Server数据库')
insert 课程表 values ('100002','数据结构')
insert 课程表 values ('100003','VB程序设计')
/5 、查找所有教师的信息。/
select from 教师表
/6、检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。/
select 教师编号,姓名 from 教师表 where EXISTS (select count() from 任课表 where 教师表教师编号=任课表教师编号 group by 教师编号 HAVING count()>90)
/7、查找张老师的代课总课数。/
select count() from 任课表 where EXISTS (select from 教师表 where 教师表教师编号=任课表教师编号 and 姓名='张老师')
以上就是关于SQL数据库题目!!!急急急!!!全部的内容,包括:SQL数据库题目!!!急急急!!!、数据库sql题目解答、数据库题目sql语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)