写出SQL语句,查询“计算机系”与“电子工程系”不同职称的教师的信息(注:即前者有而后者没有的职称),包括Tno、Tname和Prof列,
时间: 2024-03-23 13:42:45 浏览: 24
可以使用以下SQL语句查询:
```
SELECT Tno, Tname, Prof
FROM teacher
WHERE Dept = '计算机系' AND Prof NOT IN (
SELECT Prof
FROM teacher
WHERE Dept = '电子工程系'
);
```
该语句首先从 `teacher` 表中选取 `Tno`、`Tname` 和 `Prof` 列,然后使用 `WHERE` 子句筛选出 `Dept` 为 “计算机系” 且 `Prof` 不在子查询中出现的教师信息。子查询选出了 `Dept` 为 “电子工程系” 的教师的职称,因此该语句返回的是那些在 “计算机系” 有职称,但在 “电子工程系” 没有职称的教师的信息。
相关问题
根据表信息用sql语句查询“计算机系”与“电子工程系“不同职称的教师的tname和prof。sc_teacher教师表 ( tno老师编号 、tname老师姓名、 tsex老师性别、 prof 职称、 depart部门、 );
你好,根据您的要求,可以使用以下 SQL 语句来查询 “计算机系” 和 “电子工程系“ 不同职称的教师的 tname 和 prof:
SELECT tname, prof
FROM sc_teacher
WHERE depart IN ('计算机系', '电子工程系')
AND prof NOT IN (SELECT prof FROM sc_teacher WHERE depart = '计算机系' AND prof IS NOT NULL INTERSECT SELECT prof FROM sc_teacher WHERE depart = '电子工程系' AND prof IS NOT NULL);
请注意,以上 SQL 语句可以用于大部分关系型数据库,但也可能会因为数据库类型而有所不同。
SQL语句 查询计算机系年龄大于信息管理系某个学生年龄的学生的姓名和年龄
假设计算机系的学生表为Students,包含字段name和age,信息管理系的学生表为MgmtStudents,包含字段name和age,则SQL语句如下:
```
SELECT Students.name, Students.age
FROM Students, MgmtStudents
WHERE Students.age > (SELECT age FROM MgmtStudents WHERE name = '某个学生的姓名')
```
其中,内部查询 `(SELECT age FROM MgmtStudents WHERE name = '某个学生的姓名')` 用于获取信息管理系某个学生的年龄,然后将计算机系学生表中的年龄与该年龄进行比较,找出符合条件的学生姓名和年龄。