sql语句查询问题

chenyonken 2018-08-10 11:35:28
查询工资金额为8000的职工的工号和姓名的sql语句为什么是这样的,select count(*)返回的不是一个数值吗? 然后不是相当于 select eml.num ... where (查询到的数值) 吗?这个查询的是什么??查询结果是对的,但是不理解 where (select count(*)..)这里为什么这样写。
...全文
280 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
July_Star 2018-08-17
  • 打赏
  • 举报
回复
引用 7 楼 weixin_42177002 的回复:
[quote=引用 6 楼 July_Star 的回复:]
如果下面这样写,会不会好理解一点?

不过书本上的答案一般都是针对本章本节的某个知识点的
in 改成exists,in执行太慢,尽量不用。[/quote]
这么一说,我想到了和答案相近的另一种写法
男哥不喝酒 2018-08-16
  • 打赏
  • 举报
回复
引用 6 楼 July_Star 的回复:
如果下面这样写,会不会好理解一点?

不过书本上的答案一般都是针对本章本节的某个知识点的
in 改成exists,in执行太慢,尽量不用。
July_Star 2018-08-16
  • 打赏
  • 举报
回复
如果下面这样写,会不会好理解一点?

不过书本上的答案一般都是针对本章本节的某个知识点的
July_Star 2018-08-16
  • 打赏
  • 举报
回复
where 后面应该是布尔类型的表达式才对吧。。。。少东西了,我改了一下,可以查到数据

首先,Attend表作为中间表,如果存在num是Employee表中的num,并且no满足在Wage表中对应的工资等于8000,那么这个num就是符合条件的,从而读出Employee表中的num和num所对应的name
caoyang0299 2018-08-16
  • 打赏
  • 举报
回复
执行一下不就知道啦。
二月十六 2018-08-11
  • 打赏
  • 举报
回复
什么数据库?第一个语句看着不对啊,
select * from 表 where 2
类似这样的,能得到数据?
巴塞罗那的风 2018-08-11
  • 打赏
  • 举报
回复
你这个参考答案不对吧,不应该是 先去Wage表中找到8000元对应的工资编号,然后去ATTEND表中找到公告,然后得到姓名吗...

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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