急问一条查询语句,100分,在线等

ahduo 2004-12-01 10:23:10
比如,有2个表,一个是老师表,一个是课程安排表

课程安排表里面存放了CourseId,CourseName,TeacherId
老师表里面,有TeacherId,TeacherName

现在查询,需要选出还没有分配课程的老师
我是这样做的
SELECT TeacherId,TeacherName FROM 老师表 WHERE TeacherId NOT IN (SELECT TeacherId FROM 课程安排表)

但是这样做,数据2千了以后就非常慢,请问有其他的方法么?
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahduo 2004-12-01
  • 打赏
  • 举报
回复
谢谢各位,后面的就没测试了,呵呵,第一个可以
lsxaa 2004-12-01
  • 打赏
  • 举报
回复
select a.*
from 老师表 a left join 课程安排表 b on a.TeacherId=b.TeacherId
where b.CourseName is null
xuam 2004-12-01
  • 打赏
  • 举报
回复
在TeacherId字段里加索引
good2speed 2004-12-01
  • 打赏
  • 举报
回复
SELECT * FROM 老师表
WHERE NOT EXISTS(SELECT * FROM 课程安排表 WHERE 老师表.TeacherId=TeacherId)

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧