在student表、course表和score表上创建一个名为stu_score的视图。视图中保留19级女生的学号,姓名,性别,电话,课程名,期末成绩;
时间: 2024-11-17 20:29:32 浏览: 131
在SQL中,你可以通过CREATE VIEW语句来创建视图。假设你的`student`表有字段`student_id`, `name`, `gender`, `phone`, `grade`,`course`表有`course_id`, `course_name`,而`score`表有`student_id`, `course_id`, `term_exam_score`。创建名为`stu_score`的视图,只包含19级女生的信息以及她们的期末成绩,可以这样做:
```sql
CREATE VIEW stu_score AS
SELECT s.student_id, s.name, s.gender, s.phone, c.course_name, sc.term_exam_score
FROM student s
JOIN score sc ON s.student_id = sc.student_id
JOIN course c ON sc.course_id = c.course_id
WHERE s.grade = '19' AND s.gender = '女';
```
这个视图将连接`student`表、`score`表和`course`表,并筛选出符合条件的学生信息。
相关问题
1. 为student表的phone列上建立一个降序普通索引phone_idx。 2. 在score表的s_no和c_no列上建立一个复合索引stu_cour_idx。 3. 在course表的c_name,t_no列上建立一个唯一性索引 cname_idx。 4. 删除teacher表的mark索引。 5. 利用alter table语句删除course表的cname_idx索引。 6. 在student表和score表上创建一个名为stu_score的视图。视图中保留18级的女生的学号、姓名、电话、课程号和结业成绩。
好的,我已经记录下了您的问题。以下是对每个问题的回答:
1. 为student表的phone列上建立一个降序普通索引phone_idx:
```
CREATE INDEX phone_idx ON student(phone DESC);
```
2. 在score表的s_no和c_no列上建立一个复合索引stu_cour_idx:
```
CREATE INDEX stu_cour_idx ON score(s_no, c_no);
```
3. 在course表的c_name,t_no列上建立一个唯一性索引cname_idx:
```
CREATE UNIQUE INDEX cname_idx ON course(c_name, t_no);
```
4. 删除teacher表的mark索引:
```
DROP INDEX mark ON teacher;
```
5. 利用alter table语句删除course表的cname_idx索引:
```
ALTER TABLE course DROP INDEX cname_idx;
```
6. 在student表和score表上创建一个名为stu_score的视图。视图中保留18级的女生的学号、姓名、电话、课程号和结业成绩:
```
CREATE VIEW stu_score AS
SELECT s.s_no, s.s_name, s.phone, sc.c_no, sc.score
FROM student s, score sc
WHERE s.s_no = sc.s_no AND s.s_no LIKE '18%' AND s.gender = '女';
```
2在tscore表的s no 和cno列上建立一个复合素引 stu_cour_idx. 3. 在tcourse 表的Cname 列上建立一个唯一性索引 cname_idxo 4. 在t_teacher 表上建立 t no 主键素引,建立tname 和prof 的复合索引mark。 5.删除t_teacher 表的mark索引。 6. 利用alter table 语句删除 cname_ idx 索引。 7在七teacher 表上创建一个简单的视图v_teacher,显示teache 表的所有信息。 8.在t_student 表、t_course 表和t_score 表上创建一个名为 stu score 的视图。视图中保留19级的女生的学号、姓名、电话、课程号和结业成绩。 ,创建视图v_teach,统计软件学院的教师中不是教授或副教授的教 师号、教师名和专业。 10. 查看视图 stuscore 定义情况。 11. 修改视图V_teach,统计软件学院的教师中的教授或副教授的教师 号、教师名和专业,并在视图名后指明视图列名称。 12. 删除视图 v_teach。
2. 在MySQL中,可以使用以下语句为tscore表的sno和cno列建立一个复合索引stu_cour_idx:
```
CREATE INDEX stu_cour_idx ON tscore (sno, cno);
```
其中,stu_cour_idx是索引的名称,tscore是表名,sno和cno是要建立索引的列名。
3. 在MySQL中,可以使用以下语句为tcourse表的Cname列建立一个唯一性索引cname_idx:
```
CREATE UNIQUE INDEX cname_idx ON tcourse (Cname);
```
其中,cname_idx是索引的名称,tcourse是表名,Cname是要建立索引的列名,UNIQUE表示唯一性索引。
4. 在MySQL中,可以使用以下语句为t_teacher表建立主键索引和复合索引:
```
ALTER TABLE t_teacher ADD PRIMARY KEY (t_no);
ALTER TABLE t_teacher ADD INDEX mark (tname, prof);
```
其中,t_teacher是表名,t_no是主键列名,mark是复合索引的名称,tname和prof是要建立索引的列名。
5. 在MySQL中,可以使用以下语句删除t_teacher表的mark索引:
```
DROP INDEX mark ON t_teacher;
```
其中,mark是要删除的索引的名称,t_teacher是表名。
6. 在MySQL中,可以使用以下语句删除tcourse表的cname_idx索引:
```
ALTER TABLE tcourse DROP INDEX cname_idx;
```
其中,cname_idx是要删除的索引的名称,tcourse是表名。
7. 在MySQL中,可以使用以下语句创建一个简单的视图v_teacher,显示t_teacher表的所有信息:
```
CREATE VIEW v_teacher AS SELECT * FROM t_teacher;
```
其中,v_teacher是视图的名称,t_teacher是表名。
8. 在MySQL中,可以使用以下语句创建一个名为stuscore的视图,保留19级的女生的学号、姓名、电话、课程号和结业成绩:
```
CREATE VIEW stuscore AS SELECT t_student.sno, t_student.sname, t_student.phone, tscore.cno, tscore.score FROM t_student, tscore WHERE t_student.sno = tscore.sno AND t_student.sno LIKE '19%' AND t_student.sname LIKE '%女%';
```
其中,stuscore是视图的名称,t_student和tscore是表名,sno、sname、phone、cno和score是要保留的列名,'19%'和'%女%'是限定条件。
9. 在MySQL中,可以使用以下语句创建一个名为v_teach的视图,统计软件学院的教师中不是教授或副教授的教师号、教师名和专业:
```
CREATE VIEW v_teach AS SELECT t_no, tname, prof FROM t_teacher WHERE dept LIKE '软件%' AND title NOT IN ('教授', '副教授');
```
其中,v_teach是视图的名称,t_teacher是表名,t_no、tname、prof是要保留的列名,'软件%'是限定条件,NOT IN ('教授', '副教授')表示不是教授或副教授。
10. 在MySQL中,可以使用以下语句查看视图stuscore的定义情况:
```
SHOW CREATE VIEW stuscore;
```
其中,stuscore是要查看的视图的名称。
11. 在MySQL中,可以使用以下语句修改视图v_teach,统计软件学院的教师中的教授或副教授的教师号、教师名和专业,并在视图列名称后指明列别名:
```
CREATE OR REPLACE VIEW v_teach AS SELECT t_no AS '教师号', tname AS '教师名', prof AS '专业' FROM t_teacher WHERE dept LIKE '软件%' AND title IN ('教授', '副教授');
```
其中,'教师号'、'教师名'和'专业'是列别名,dept是部门列名,'软件%'是限定条件,'教授'和'副教授'是教师职称。
12. 在MySQL中,可以使用以下语句删除视图v_teach:
```
DROP VIEW v_teach;
```
其中,v_teach是要删除的视图的名称。
阅读全文
相关推荐


















