网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
selectsname,ssex,sage
fromsdudent
wheresdept=’计算机系’and sname like ‘赵 %’ and ssex =‘女’
6.
insertinto student
values (‘05020’, ‘丁莉’, ‘女’, 17, ‘计算机系’)
四、有一个[学生课程]数据库,数据库中包括三个表:
学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为: Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。
课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。
成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO,CNO)为关键字。
用SQL语言实现下列功能:
1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。
2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。
3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。
4.查询学习1号课程的学生最高分数、平均成绩。
5.查询与“李洋”在同一个系学习的学生。
6.将计算机系全体学生的成绩置零。
7.删除学号为05019的学生记录。
8.删除计算机系所有学生的成绩记录。
1.
CREATETABLEStudent
(SnoCHAR(5) NOT NULL UNIQUE,
SnameCHAR(20),
SsexCHAR(2),
SageINT,
SdeptCHAR(15))
2.
ALTERTABLE Student ADD Scome DATETIME
3.
SELECTSno, Grade
FROM SG
WHERECno=‘3’
ORDERBY Grade DESC
4.
SELECTMAX(Grade), AVG(Grade)
FROM SC
WHERECno=‘1’
5.
SELECTSno, Sname, Sdept
FROMStudent
WHERESdept IN
(SELECT Sdept FROM Student
WHERE Sname=‘李洋’)
6.
UPDATESG
SETGrade=0
WHERESno in
(SELECT Sno FROM Student
WHERESdept = ‘计算机系’)
7.
DELETEFROM Student
WHERESno=‘05019’
8.
DELETEFROM SG
WHERESno in
(SELECT Sno FROM Student
WHERESdept = ‘计算机系’)
五、有一个[学生课程]数据库,数据库中包括三个表:
学生表由学号、姓名、性别、年龄、所在系五个属性组成,
可记为:学生表(学号,姓名,性别,年龄,所在系) [学号]为关键字。
课程表由课程号、课程名、先修课号、学分四个属性组成,
可记为:课程表(课程号,课程名,先修课号,学分) 课程表为关键字。
学生选课表由学号、课程号、成绩三个属性组成,
可记为: 成绩表(学号,课程号,成绩) (学号、课程号)为关键字。
编写用SQL语言实现下列功能的sql语句代码:
1、建立一个[学生表],其中学号属性不能为空,并且其值是唯一的。
2、查询全体学生的详细记录。
3、查询年龄在20至23岁之间的学生的姓名、系别、和年龄。
4、计算1号课程的学生平均成绩。
5、将计算机科学系全体学生的成绩置零。
1、建立一个学生表。
CREATE TABLE 学生表
(学号 CHAR(5)NOT NULL UNIQUE,
姓名CHAR(20),
性别 CHAR(2),
年龄 INT,
所在系 CHAR(15))
2、查询全体学生的详细记录
SELECT *
FROM 学生表
3、查询年龄在20至23岁之间的学生的姓名、系别、和年龄
SELECT 姓名, 所在系, 年龄
FROM 学生表
WHERE 年龄 BETWEEN 20AND 23
4、计算1号课程的学生平均成绩
SELECT AVG(成绩)
FROM 成绩表
WHERE 课程号=‘1’
5、将计算机科学系全体学生的成绩置零
UPDATE 成绩表
SET 成绩=0
WHERE 学号 in
( SELECT 学号 FROM 学生表
WHERE Sdept =‘计算机科学系’)
现有关系数据库如下:
数据库名:学生成绩数据库
学生表(班级编号,学号,姓名,性别,民族,身份证号,出生日期)
课程表(课程号,课程名,开课学期,学时)
成绩表(ID,学号,课程号,分数)
用SQL语言实现下列功能的sql语句代码:
1.查询学生信息表中的年龄(重复年龄只显示一次)
2.从学生信息表和教学成绩表中查询查询学生的学号、姓名、课程名和分数
3.从课程表中统计第二学期的总学时。
执行结果为:
课程好 课程名 开课学期 学时
… … … …
… … … …
sum
============
…
4.编写一个存储过程,输入学号,从“教学成绩表视图” 显示该学生的姓名、课程名、分数。
5.创建一个触发器,当修改学生表中的姓名时,显示“学生姓名已被修改”。
1.查询学生信息表中的年龄(重复年龄只显示一次)
use 教学成绩管理数据库
select distinct 年龄=datediff(year,出生日期,getdate())
from 学生信息表
2.从学生信息表和教学成绩表中查询查询学生的学号、姓名、课程名和分数
use 学生成绩数据库
select 成绩表.学号,姓名,课程名,分数
from 教学成绩表,学生信息表
where成绩表.学号 = 学生表.学号 AND 成绩表.课程号=课程表.课程号
3. 从课程表中统计第二学期的总学时。
Select课程号, 课程名, 开课学期, 学时
From 课程表
Where开课学期=2
compute avg(学时)
4.编写一个存储过程,输入学号,从“教学成绩表视图” 显示该学生的姓名、课程名、分数。
CREATE PROCEDURE 成绩1 @xh char (6)
as
select 姓名,课程名称,分数 from 教学成绩表视图
where 学号=@xh
5.创建一个触发器,当修改学生表中的姓名时,显示“学生姓名已被修改”。
Create Trigger 触发器7 On 学生表
For updata
As
Print “学生姓名已被修改”
Go
现有关系数据库如下:
数据库名:学生成绩数据库
学生表(班级编号,学号,姓名,性别,民族,身份证号,出生日期)
课程表(课程号,课程名)
成绩表(ID,学号,课号,分数)
用SQL语言实现下列功能的sql语句代码:
1.在[学生成绩数据库]的[学生表]中查询年龄为20岁或22岁的学生。
2.在[学生成绩数据库]中查询每个学生的班级编号、学号、姓名、平均分,结果按平均分降序排列,均分相同者按班级排列。
3.编写一个自定义函数,根据[学生表]中的[出生日期]列,计算年龄。
4.创建一个视图[教学成绩表视图]显示学生的学号、姓名、课程名、分数。
5.编写一个存储过程,输入学号,从[教学成绩表视图]显示该学生的姓名、课程名、分数。
6.把[学生表]、[成绩表]通过[学号]建立约束关系。
7.把[学生表]、[成绩表]通过[学号]建立约束关系。
8.在学生表中插入记录:
班级编号 学号 姓名 性别 民族 身份证号 出生日期
050201 050201001 王莉欣 女 汉 53010219790625224 1979-06-25
050202 050202001 张晶 男 NULL 01020319801224121 NULL
把张晶的民族改为“汉”、出生日期改为“1980-12-24”
1.在学生成绩数据库的学生表中查询年龄为20岁或22岁的学生
use 教学成绩管理数据库
select 姓名, 性别, 年龄=datediff(year,出生日期,getdate())
from 学生表
where(datediff(year,出生日期,getdate())=20) or(datediff(year,出生日期,getdate())=22)
2.在学生成绩数据库中查询每个学生的班级编号、学号、姓名、平均分,结果按平均分降序排列,均分相同者按班级排列
use 教学成绩管理数据库
select 班级编号,a.学号,a.姓名, avg(分数) 平均分
from 学生表 as ajoin成绩表 as b
on a.学号 = b.学号
group by 班级编号, a.学号,a.姓名
order by avg(分数) desc, 班级编号 asc
3.编写一个自定义函数,根据[学生表]中的[出生日期]列,计算年龄。
CREATE FUNCTION dbo.计算年龄(@vardatedatetime,@Curdate datetime)
RETURNS tinyint
AS
BEGIN
return datediff(yyyy, @vardate, @Curdate)
END
4.创建一个视图“教学成绩表视图” 显示学生的学号、姓名、课程名、分数。
CREATE VIEW [教学成绩表视图]
AS
SELECT 学号, 姓名, 课程名, 分数
FROM 学生表, 成绩表
WHERE 学生表.学号=成绩表.学号
5.编写一个存储过程,输入学号,从“教学成绩表视图” 显示该学生的姓名、课程名、分数。
CREATE PROCEDURE [成绩1] @xh char (6)
as
select 姓名,课程名称,分数 from 教学成绩表视图
where 学号=@xh
6.把学生表、成绩表通过“学号”建立约束关系。
alter table 学生表
add constraint 约束1 foreign key (学号) references 成绩表 (学号)
7.创建一个触发器,当修改学生表中的姓名时,显示“学生姓名已被修改”。
Create Trigger 触发器7 On 学生表
For updata
As
Print ‘学生姓名已被修改’
Go
8.
insert 学生表 values
(‘050201’,‘050201001’,‘王莉欣’,‘女’,‘汉’,‘53010219790625224’,
‘1979-06-25’)
insert 学生表 values
(‘050201’,‘050201001’,‘张晶’, ‘男’, null,null, null)
update 学生表
set 民族=‘汉’,
身份证号=‘01020319800226121’,
出生日期=‘1980-02-26’
where 姓名=‘张晶’
1、 用SQL语句创建表1和表2。
departments(Depid,Depname,Depnote)
employees(Empid,Empname,Birthdate,Depart,Salary,Position)
表1 departments
字段名 | 数据类型 | 说明 |
Depid | Tinyint | 部门编号(主键) |
Depname | Char(12) | 部门名称 |
Depnote | Varchar(100) | 有关说明 |
表2 employees
字段名 | 数据类型 | 说明 |
Empid | Char(6) | 员工编号(主键) |
Empname | Char(20) | 员工姓名(非空) |
Birthdate | Smalldatetime | 出生日期 |
Depart | Tinyint | 所在部门(外键)(非空) |
Salary | Float | 月薪 |
Position | Char(8) | 职务 |
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
键) |
| Depname | Char(12) | 部门名称 |
| Depnote | Varchar(100) | 有关说明 |
表2 employees
字段名 | 数据类型 | 说明 |
Empid | Char(6) | 员工编号(主键) |
Empname | Char(20) | 员工姓名(非空) |
Birthdate | Smalldatetime | 出生日期 |
Depart | Tinyint | 所在部门(外键)(非空) |
Salary | Float | 月薪 |
Position | Char(8) | 职务 |
[外链图片转存中…(img-1sDumvnk-1715138126383)]
[外链图片转存中…(img-3Qw6W7aJ-1715138126384)]
[外链图片转存中…(img-ifmFUM4j-1715138126384)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新