SELECT `教师`.`工号`, `教师名`, `职称` FROM `教师` JOIN `课程` ON `教师`.`工号` = `课程`.`任课教师` WHERE `课程名` = '高等数学';
时间: 2024-07-02 13:00:47 浏览: 117
该 SQL 查询语句是用来从两个关联的数据库表中获取信息的。具体来说,它执行以下操作:
1. **FROM 子句**:它指定了数据的来源,即两个表 `教师` 和 `课程`。这两个表通过 `教师工号` 和 `课程任课教师` 这一字段进行连接。
2. **JOIN 子句**:使用 `JOIN` 关键字将 `教师` 表和 `课程` 表连接在一起,基于它们之间的教师工号对应关系。
3. **SELECT 子句**:选择了要返回的列,即教师的工号 (`教师工号`)、教师姓名 (`教师名`) 和职称 (`职称`)。
4. **WHERE 子句**:应用了一个条件,只返回那些课程名称 (`课程名`) 为 '高等数学' 的课程的教师信息。
所以,这个查询的结果将是所有教授 '高等数学' 的教师的工号、姓名和职称。
相关问题
按照教师工号聚合查询不同老师不同课程的平均分
您可以使用以下 SQL 语句进行按教师工号聚合查询不同老师不同课程的平均分:
```
SELECT teacher_id, course_name, AVG(score) AS avg_score
FROM score_table
GROUP BY teacher_id, course_name;
```
在上述 SQL 语句中,假设 score_table 是您保存成绩数据的表,包含以下列:
- teacher_id:教师工号
- course_name:课程名称
- score:成绩
使用 GROUP BY 子句对教师工号和课程名称进行分组操作,然后使用 AVG() 聚合函数计算平均分。
查询全部学生的学生名和所学课程名及成绩 select sti.sname,coi.cname,sci.score from stu sti INNER JOIN sc sci on sti.sld=sci.sld INNER JOIN course coi on coi.cld=sci.cld;
请稍等,我来为您查询全部学生的学生名、所学课程名及成绩。
```sql
SELECT stu.sname, course.cname, sc.score
FROM stu
INNER JOIN sc ON stu.sld = sc.sld
INNER JOIN course ON course.cld = sc.cld;
```
这是一个使用 INNER JOIN 连接 stu、sc 和 course 表的查询语句,根据学生表中的学生ID(sld)与成绩表中的学生ID(sld),以及成绩表中的课程ID(cld)与课程表中的课程ID(cld)进行连接。最终查询结果将包含学生名、所学课程名及成绩。