生成代码sql视图 (1) 使用企业管理器创建视图 : ① 在stu库中以“student”表为基础,建立MA系学生的视

时间: 2024-02-20 21:58:42 浏览: 38
以下是使用 SQL 语句创建 stu 库中以 student 表为基础,筛选出 MA 系学生的视图的示例代码: ```sql CREATE VIEW ma_students AS SELECT * FROM student WHERE department = 'MA'; ``` 这段代码将创建一个名为 ma_students 的视图,它将 student 表中 department 字段为 'MA' 的行筛选出来。可以通过以下语句查看该视图: ```sql SELECT * FROM ma_students; ``` 注意:使用企业管理器创建视图的具体步骤可能因不同的管理器而异,但是核心的 SQL 代码应该是相似的。
相关问题

生成代码sql视图 使用企业管理器创建视图 : ① 在stu库中以“student”表为基础,建立MA系学生的视图V_MAStudent ② 建立一个所有IS系学生的班级号、学号以及其平均成绩的视图COMPUTE_AVG_GRADE; (2) 使用SQL语句创建视图: ① 建立一个每个学生的学号、姓名、选修的课号、课名及成绩的视图S_C_GRADE; ② 建立IS系选修了1号课程且成绩在90分以上的学生的视图V_IS_Score ③ 将各系学生人数,平均年龄定义为视图V_NUM_AVG。 (3) 查询以上所建的视图结果 (4) 查询选修了1号课程的学生 (5) 在MA系学生的视图中找出年龄小于20岁的学生 (6) 将数学系学生视图V_MAStudent中班级号为1,学号1的学生姓名改为“王武” (7)向数学系学生视图V_MAStudent中插入一个新的学生记录,其中班级号为1,学号为6,姓名为赵新,年龄为20岁 (8) 删除数学系学生视图V_MAStudent班级号为1,学号为6的记录 (9) 用企业管理器删除视图“V_MAStudent” (10) 用SQL语句删除视图S_C_GRADE

以下是生成代码 SQL 视图的示例: (1) 使用企业管理器创建视图: ① 在 stu 库中以“student”表为基础,建立 MA 系学生的视图 V_MAStudent: 在企业管理器中找到 stu 库,右键点击“Views”,选择“New View...”打开视图设计器,然后按照以下步骤创建视图: - 在“Add Table”对话框中选择 student 表,点击“Add”按钮添加该表。 - 在视图设计器的“Diagram”面板中选择 student 表,然后在其上方的“Criteria”面板中输入“department = 'MA'”筛选条件。 - 在视图设计器的“Properties”面板中输入视图名称“V_MAStudent”。 最终生成代码如下: ```sql CREATE VIEW V_MAStudent AS SELECT * FROM student WHERE department = 'MA'; ``` ② 建立一个所有 IS 系学生的班级号、学号以及其平均成绩的视图 COMPUTE_AVG_GRADE: 同样在视图设计器中按照以下步骤创建视图: - 添加 student 表和 sc 表,并通过班级号和学号将它们连接起来。 - 在“Columns”面板中选择需要显示的列,包括班级号、学号和平均成绩。 - 在“Group By”面板中选择班级号和学号,以便计算平均成绩。 最终生成代码如下: ```sql CREATE VIEW COMPUTE_AVG_GRADE AS SELECT sc.class_id, sc.student_id, AVG(sc.score) AS avg_grade FROM student s INNER JOIN sc ON s.id = sc.student_id WHERE s.department = 'IS' GROUP BY sc.class_id, sc.student_id; ``` (2) 使用 SQL 语句创建视图: ① 建立一个每个学生的学号、姓名、选修的课号、课名及成绩的视图 S_C_GRADE: ```sql CREATE VIEW S_C_GRADE AS SELECT student.id AS student_id, student.name AS student_name, course.id AS course_id, course.name AS course_name, sc.score FROM student INNER JOIN sc ON student.id = sc.student_id INNER JOIN course ON sc.course_id = course.id; ``` ② 建立 IS 系选修了 1 号课程且成绩在 90 分以上的学生的视图 V_IS_Score: ```sql CREATE VIEW V_IS_Score AS SELECT student.id, student.name, sc.score FROM student INNER JOIN sc ON student.id = sc.student_id WHERE student.department = 'IS' AND sc.course_id = 1 AND sc.score >= 90; ``` ③ 将各系学生人数、平均年龄定义为视图 V_NUM_AVG: ```sql CREATE VIEW V_NUM_AVG AS SELECT department, COUNT(*) AS num_students, AVG(age) AS avg_age FROM student GROUP BY department; ``` (3) 查询以上所建的视图结果: 查询 V_MAStudent 视图: ```sql SELECT * FROM V_MAStudent; ``` 查询 COMPUTE_AVG_GRADE 视图: ```sql SELECT * FROM COMPUTE_AVG_GRADE; ``` 查询 S_C_GRADE 视图: ```sql SELECT * FROM S_C_GRADE; ``` 查询 V_IS_Score 视图: ```sql SELECT * FROM V_IS_Score; ``` 查询 V_NUM_AVG 视图: ```sql SELECT * FROM V_NUM_AVG; ``` (4) 查询选修了 1 号课程的学生: ```sql SELECT * FROM student WHERE id IN ( SELECT student_id FROM sc WHERE course_id = 1 ); ``` (5) 在 MA 系学生的视图中找出年龄小于 20 岁的学生: ```sql SELECT * FROM V_MAStudent WHERE age < 20; ``` (6) 将数学系学生视图 V_MAStudent 中班级号为 1,学号为 1 的学生姓名改为“王武”: ```sql UPDATE V_MAStudent SET name = '王武' WHERE class_id = 1 AND id = 1; ``` (7) 向数学系学生视图 V_MAStudent 中插入一个新的学生记录,其中班级号为 1,学号为 6,姓名为赵新,年龄为 20 岁: ```sql INSERT INTO V_MAStudent (class_id, id, name, age, gender, department) VALUES (1, 6, '赵新', 20, '男', 'MA'); ``` (8) 删除数学系学生视图 V_MAStudent 班级号为 1,学号为 6 的记录: ```sql DELETE FROM V_MAStudent WHERE class_id = 1 AND id = 6; ``` (9) 用企业管理器删除视图“V_MAStudent”: 在企业管理器中找到 V_MAStudent 视图,右键点击它,选择“Delete”删除该视图。 (10) 用 SQL 语句删除视图 S_C_GRADE: ```sql DROP VIEW S_C_GRADE; ```

在学生管理数据库上创建两个角色R1和R2,给角色R1授权,使其可以查询学生管理数据库中的student表以及查询视图math_stu。

可以按照以下步骤来实现: 1. 创建角色R1和R2 ```sql CREATE ROLE R1; CREATE ROLE R2; ``` 2. 给角色R1授权查询student表的权限 ```sql GRANT SELECT ON student TO R1; ``` 3. 创建视图math_stu ```sql CREATE VIEW math_stu AS SELECT * FROM student WHERE subject = 'math'; ``` 4. 给角色R1授权查询视图math_stu的权限 ```sql GRANT SELECT ON math_stu TO R1; ``` 这样,角色R1就可以查询学生管理数据库中的student表以及查询视图math_stu了。

相关推荐

最新推荐

recommend-type

用sql修改基本表及其更新表中数据

修改基本表的基本语句: ALTER TABLE [ ADD[COLUMN] [ 完整性约束 ] ] [ ADD ] [ DROP [ COLUMN ] [CASCADE| RESTRICT] ] ... 向基本表student中增加phoneno列,数据类型为int型。 alter table stu
recommend-type

解决出现Incorrect integer value: '' for column 'id' at row 1的问题

主要介绍了解决出现Incorrect integer value: '' for column 'id' at row 1的问题的相关资料,希望通过本文能帮助到大家,让大家遇到这样的问题及时的解决,需要的朋友可以参考下
recommend-type

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

实现实时监控告警系统:Kafka与Grafana整合

![实现实时监控告警系统:Kafka与Grafana整合](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9BVldpY3ladXVDbEZpY1pLWmw2bUVaWXFUcEdLT1VDdkxRSmQxZXB5R1lxaWNlUjA2c0hFek5Qc3FyRktudFF1VDMxQVl3QTRXV2lhSWFRMEFRc0I1cW1ZOGcvNjQw?x-oss-process=image/format,png) # 1.1 Kafka集群架构 Kafka集群由多个称为代理的服务器组成,这