》向这三张表中每张表至少添加五条记录 数据库查询应用技能 以下冬题自行添加示例数据验证,并保存好以下每一题的sql语句。(6)查询所有教师信息,并按照年龄从大到小进行排序展示结果 (7)查询课程表中前3 条信息。 (8)查询教师号为1的教师所授课的课程名和学分。 (9)创建视图,建一个年龄大于 40 岁的教师视图,属性要包括教而号、教师姓名、教师年龄、所在部门编号、所投课课程名信息(10)分别为姓名、年龄、部门编号建索引 数据库维护技能
时间: 2024-02-17 13:02:56 浏览: 75
好的,以下是各个问题的 SQL 语句和相应的结果:
1. 向 Teacher 表中添加示例数据:
```sql
INSERT INTO Teacher VALUES
('T001', '张三', '男', 30, '计算机科学与技术'),
('T002', '李四', '男', 35, '软件工程'),
('T003', '王五', '女', 28, '信息安全'),
('T004', '赵六', '女', 42, '计算机科学与技术'),
('T005', '钱七', '男', 38, '软件工程');
```
2. 向 Course 表中添加示例数据:
```sql
INSERT INTO Course VALUES
('C001', '数据库系统', 3, NULL),
('C002', '计算机网络', 3, NULL),
('C003', '操作系统', 4, 'C001'),
('C004', '软件工程', 4, 'C002'),
('C005', '信息安全', 3, 'C003');
```
3. 向 CT 表中添加示例数据:
```sql
INSERT INTO CT VALUES
('C001', 'T001', 'A101'),
('C001', 'T002', 'A102'),
('C002', 'T002', 'A103'),
('C002', 'T003', 'A104'),
('C003', 'T001', 'A105'),
('C003', 'T004', 'A106'),
('C004', 'T002', 'A107'),
('C004', 'T005', 'A108'),
('C005', 'T003', 'A109'),
('C005', 'T005', 'A110');
```
4. 查询所有教师信息,并按照年龄从大到小进行排序:
```sql
SELECT * FROM Teacher ORDER BY Tage DESC;
```
结果:
```
+------+--------+------+------+-—————+
| Tno | Tname | Tsex | Tage | Tdept |
+------+--------+------+------+-—————+
| T004 | 赵六 | 女 | 42 | 计算机科学与技术 |
| T005 | 钱七 | 男 | 38 | 软件工程 |
| T002 | 李四 | 男 | 35 | 软件工程 |
| T001 | 张三 | 男 | 30 | 计算机科学与技术 |
| T003 | 王五 | 女 | 28 | 信息安全 |
+------+--------+------+------+-—————+
```
5. 查询 Course 表中前 3 条信息:
```sql
SELECT * FROM Course LIMIT 3;
```
结果:
```
+------+--------------+---------+-------+
| Cno | Cname | Ccredit | Cpre |
+------+--------------+---------+-------+
| C001 | 数据库系统 | 3 | NULL |
| C002 | 计算机网络 | 3 | NULL |
| C003 | 操作系统 | 4 | C001 |
+------+--------------+---------+-------+
```
6. 查询教师号为 T001 的教师所授课的课程名和学分:
```sql
SELECT Cname, Ccredit FROM Course WHERE Cno IN (SELECT Cno FROM CT WHERE Tno = 'T001');
```
结果:
```
+------------+---------+
| Cname | Ccredit |
+------------+---------+
| 数据库系统 | 3 |
| 操作系统 | 4 |
+------------+---------+
```
7. 创建视图 age_gt_40,包含年龄大于 40 岁的教师的信息:
```sql
CREATE VIEW age_gt_40 AS
SELECT Tno, Tname, Tage, Tdept, Cname
FROM Teacher JOIN CT ON Teacher.Tno = CT.Tno JOIN Course ON CT.Cno = Course.Cno
WHERE Tage > 40;
```
8. 为 Teacher 表中的 Tname、Tage、Tdept 字段建立索引:
```sql
CREATE INDEX idx_Teacher_Tname ON Teacher(Tname);
CREATE INDEX idx_Teacher_Tage ON Teacher(Tage);
CREATE INDEX idx_Teacher_Tdept ON Teacher(Tdept);
```
阅读全文