已知教学数据库中包含四个基本表:实体完整性和参照完整性 教师情况表T(Tno,TName,TDept); 课程基本表C(Cno,Cname,Cpno, Tno); 学生情况表S(Sno,Sname,Sage,Sex,Sdept); 学生成绩基本表SC(Sno,Cno,Grade); 表中的数据暂且忽略 试用SQL语句完成如下查询; 1.查询计算机系的所有老师;
时间: 2024-03-25 17:39:27 浏览: 23
可以使用如下 SQL 语句查询计算机系的所有老师:
```
SELECT * FROM T WHERE TDept = '计算机系';
```
其中,`T` 是教师情况表的表名,`TDept` 是该表中表示教师所在系别的字段,`'计算机系'` 是要查询的系别名称。这条 SQL 语句将返回所有所在系别为计算机系的教师的信息。
相关问题
已知教学数据库中包含四个基本表: 实体完整性和参照完整性教师情况表T (Tno,TName,TDept) ;课程基本表C (Cno,Cname,cpno,Tno)学生情况表S (Sno,Sname,Sage,Sex,sdept)学生成绩基本表SC (Sno,Cno,Grade) ;使用mysql完成以下实验任务。实验任务 1 创建名为 proc_grade 的存储过程,要求查询 db_student 数据库中每个学生各门功课的成绩,其中包括每个学生的sno、sname、cname、grade。并调用改 p
根据要求,我们可以创建下面的存储过程 proc_grade:
```sql
DELIMITER $$
CREATE PROCEDURE proc_grade()
BEGIN
SELECT S.Sno, S.Sname, C.Cname, SC.Grade
FROM S, C, SC
WHERE S.Sno = SC.Sno AND C.Cno = SC.Cno
ORDER BY S.Sno, C.Cno;
END$$
DELIMITER ;
```
该存储过程会查询学生情况表 S、课程基本表 C 和学生成绩基本表 SC,根据学生学号 Sno 和课程编号 Cno 进行关联查询,最终返回每个学生各门功课的成绩信息。
要调用该存储过程,可以使用以下语句:
```sql
CALL proc_grade();
```
执行该语句后,就可以看到查询结果了。
在root用户下,将对s_t数据库teachers表中tno、tname属性的select权限授予用户u2。
首先,以 `root` 用户身份登录到 MySQL 数据库中:
```
mysql -u root -p
```
接着,授予用户 `u2` 对 `s_t` 数据库中 `teachers` 表的 `tno` 和 `tname` 属性的 `select` 权限,可以使用以下命令:
```
GRANT SELECT(tno, tname) ON s_t.teachers TO u2;
```
最后,刷新权限:
```
FLUSH PRIVILEGES;
```
这样,用户 `u2` 就可以在 `s_t` 数据库中执行 `SELECT tno, tname FROM teachers;` 命令了。