
前面一个问题不太明白。
insert into 雇员表
values (05002,'跑腿',06,'2003-04-15',250000,null,05001); 中指定部门编码为‘06’,但此部门可能在部门表中不存在。
-----------------------------------
create database XSCJ
use XSCJ
-----------------------------------
exec sp_renamedb 'XSCJ', '学生成绩'
-----------------------------------
create table 学生表
(学号 varchar(10) primary key,
姓名 varchar(10) ,
性别 varchar(2)default '男',
出生日期 date,
家庭地址 varchar(50)
)
-----------------------------------
create table 课程表
(课程代码 varchar(10) primary key,
课程名称 varchar(50) NOT NULL,
)
-----------------------------------
create table 成绩表
(学号 varchar(10) not null,
课程代码 varchar(10) not null,
分数 int,
primary key(学号,课程代码),
foreign key(学号) references 学生表(学号),
foreign key(课程代码) references 课程表(课程代码)
)
-------------------------------------------
insert into 学生表(学号,姓名,出生日期) values('2010001','张三','1988-02-02')
------------------------------------------
update 学生表 set 出生日期='1987-3-1' where 学号='2010001'
--------------------------------------------
select 学号,姓名,性别,year(getdate())-year(出生日期) as 年龄 from 学生表
----------------------------------------
select from 学生表 where DATEDIFF(yyyy,出生日期,getdate())>DATEDIFF(yyyy,出生日期,getdate())/(select COUNT() from 学生表)
-----------------------------------------
select a课程代码,a课程名称,bmaxscore,bminscore,bavgscore from 课程表 a,(select 课程代码,MAX(分数) as maxscore,min(分数) as minscore,avg(分数)as avgscore from 成绩表 group by 课程代码)b where a课程代码=b课程代码
------------------------------------------
select a学号,a姓名,cfailedNo from 学生表 a,(select 学号,COUNT() as failedNo from 成绩表 where 分数<60 group by 学号)c where a学号=c学号
------------------------------------------
select top 10 学号,姓名,DATEDIFF(yyyy,出生日期,getdate())as 年龄 from 学生表 where 家庭地址='重庆市' order by 年龄 desc
------------------------------------------
create view view_score as
select a学号,a姓名,c课程代码,c分数 as 成绩 from 学生表 a inner join 成绩表 c on a学号=c学号
------------------------------------------
create procedure XS_TJ
@getnumb varchar(10)
as
begin
select from 学生表 A where A学号=@getnumb
end
1
select 英语学号
from Score 英语
left join
(
select 学号,课程代码,成绩
from Score where 课程代码='数学课程代码'
) as 数学
on 英语学号=数学学号
where 英语课程代码='英语课程代码' and 英语成绩>数学成绩
2
select Student学号,Student姓名,AVG(成绩) as 平均成绩
from Score
left join Student on Student学号 =Score学号
group by Student学号,Student姓名
having AVG(Score成绩)>30
3
select Student学号,Student姓名, ISNULL(选课_成绩选课数,0) as 选课数,ISNULL(选课_成绩总成绩,0) as 总成绩
from Student
left join
(
select 学号, COUNT(Score课程代码) as 选课数,SUM(Score成绩) as 总成绩
from Score group by 学号
) as 选课_成绩
on Student学号= 选课_成绩学号
4
select a学号,a姓名 from Student as a
where a学号 not in(
select distinct(Student学号) as 学号
from Student
left join Score on Score课程代码 =
(
select Course课程代码 from Course
where Course教师编号 =
(
select Teacher教师编号 from Teacher
where Teacher教师姓名='王军'
)
)
)
仅供学习参考
以上就是关于SQL数据库问题全部的内容,包括:SQL数据库问题、求SQL大神帮忙解答此题!、数据库面试题 有四个表Student表,Course表,Score表,Teacher表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)