创建一个视图VIEW1,用于查询所有1990年以后出生的学生的学号、姓名、性别、入学成绩、以及他们所选修的课程号、课程名、任课教师姓名等信息。
时间: 2023-07-10 18:39:56 浏览: 318
好的,根据您的要求,以下是用于创建视图VIEW1的SQL查询语句:
```
CREATE VIEW VIEW1 AS
SELECT s.学号, s.姓名, s.性别, s.入学成绩, c.课程号, c.课程名, t.姓名 AS 任课教师姓名
FROM 学生 s
JOIN 选课 x ON s.学号 = x.学号
JOIN 课程 c ON x.课程号 = c.课程号
JOIN 教师 t ON c.任课教师编号 = t.编号
WHERE YEAR(s.出生日期) > 1990
```
这个视图将返回所有1990年以后出生的学生的学号、姓名、性别、入学成绩,以及他们所选修的课程号、课程名、任课教师姓名等信息。
相关问题
1、创建一个视图VIEW1,用于查询所有1990年以后出生的学生的学号、姓名、性别、入学成绩、以及他们所选修的课程号、课程名、任课教师姓名等信息。 2、要求将视图VIEW1修改为用于查询所有男生的学生的学号、姓名、系名以及他们所选修的课程名、任课教师姓名等信息。 3、创建一个视图VIEW2,用于查询电话号码以‘189’开头的并且班级中包含‘软件’字符的学生姓名和班级、电话号码。 4、向VIEW2插入一条记录(周舟,18软件2班,18998879999)。 5、在VIEW2中将刚刚插入的记录的电话号码修改为18911111111 6、在VIEW2中将刚刚插入的记录删除 7、删除视图VIEW2 8、创建视图VIEW3,要求查询出学生的最高入学成绩高于500的系部信息 9、创建视图VIEW4,使其显示每个系、每门课程的平均成绩,结果格式为: 10、通过VIEW4查看信息系每门课程的平均成绩。 给以上的10道题创建表
好的,以下是创建表的SQL语句:
创建学生表:
```
CREATE TABLE student (
sid VARCHAR(10) PRIMARY KEY,
sname VARCHAR(20),
gender CHAR(2),
birth DATE,
class VARCHAR(20),
score INT,
phone VARCHAR(15),
did VARCHAR(10),
FOREIGN KEY(did) REFERENCES department(did)
);
```
创建课程表:
```
CREATE TABLE course (
cid VARCHAR(10) PRIMARY KEY,
cname VARCHAR(20),
tid VARCHAR(10),
FOREIGN KEY(tid) REFERENCES teacher(tid)
);
```
创建教师表:
```
CREATE TABLE teacher (
tid VARCHAR(10) PRIMARY KEY,
tname VARCHAR(20),
did VARCHAR(10),
FOREIGN KEY(did) REFERENCES department(did)
);
```
创建选课表:
```
CREATE TABLE sc (
sid VARCHAR(10),
cid VARCHAR(10),
score INT,
PRIMARY KEY(sid, cid),
FOREIGN KEY(sid) REFERENCES student(sid),
FOREIGN KEY(cid) REFERENCES course(cid)
);
```
创建系部表:
```
CREATE TABLE department (
did VARCHAR(10) PRIMARY KEY,
dname VARCHAR(20)
);
```
插入测试数据:
```
INSERT INTO student VALUES
('101', '张三', '男', '1992-01-23', '18计算机1班', 600, '18912345678', '01'),
('102', '李四', '女', '1991-03-15', '18计算机1班', 550, '18987654321', '01'),
('103', '王五', '男', '1993-05-12', '18计算机2班', 580, '18923456789', '01'),
('104', '赵六', '女', '1990-11-11', '18软件1班', 520, '18934567890', '02'),
('105', '钱七', '男', '1994-08-01', '18软件2班', 650, '18945678901', '02');
INSERT INTO course VALUES
('01', '数据库', '01'),
('02', '操作系统', '02');
INSERT INTO teacher VALUES
('01', '张老师', '01'),
('02', '李老师', '02');
INSERT INTO sc VALUES
('101', '01', 90),
('102', '01', 85),
('103', '01', 88),
('104', '02', 78),
('105', '02', 98);
INSERT INTO department VALUES
('01', '计算机科学与技术系'),
('02', '软件工程系');
```
1、使用SQL Server管理平台创建一个名为stud-view1视图,从学生管理数据库的学生表,课程表和成绩表中查询出学生学号,姓名,性别,选修的课程名,学分和分数资料。
可以使用以下SQL语句创建名为stud-view1的视图:
```
CREATE VIEW stud-view1 AS
SELECT s.stu_no, s.stu_name, s.gender, c.course_name, c.credit, sc.score
FROM student s
INNER JOIN score sc ON s.stu_no = sc.stu_no
INNER JOIN course c ON sc.course_no = c.course_no;
```
该视图会从学生表,课程表和成绩表中联结查询出学生学号,姓名,性别,选修的课程名,学分和分数资料。可以使用以下语句查询该视图:
```
SELECT * FROM stud-view1;
```
阅读全文