SQL数据库问题

SQL数据库问题,第1张

前面一个问题不太明白。

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表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9698068.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存