这个查询是什么意思
这个查询是什么意思
select fname, lname
from Owner
where not exists
(select fname, lname
from Trainer)
我理解 :它从表所有者返回 fname 和 lname,其中这些名称不存在于表训练器中? 我说得对吗?
what does this query mean
select fname, lname
from Owner
where not exists
(select fname, lname
from Trainer)
what i understand :it returns fname and lname from table owner where these names not exsit in table trainer ?
am i right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查找存在于
Owner
表中但不存在于Trainer
表中的人员姓名。Find the names of people who exist in the
Owner
table but not in theTrainer
table.这是一种从
owner
表中获取trainer
表中不存在的所有人列表的非常蹩脚的方法。因此,如果
Owner
表包含并且 Trainer 表包含
您应该得到一个结果集:
Update
实际上,如果有任何记录,您的查询将不会返回任何内容在训练师表中。您可能应该使用:
It's a pretty lame way to get a list of everyone from the
owner
table that doesn't exist in thetrainer
table.So, if the
Owner
table containsand the Trainer table contains
You should get a result set:
Update
Actually, your query won't return anything if there are any records at all in the Trainer table. You should probably be using:
该查询有两部分:“select”和“where”。
首先查看 where 部分:
如果 Trainer 表中没有任何内容,则该 where 子句的计算结果为“true”;如果其中有内容,则该 where 子句的计算结果为“false”。现在看看“选择”部分:
这会选择“所有者”表中的所有行。
综上所述:如果(且仅当)Trainer 表中没有任何内容,则查询会从 Owner 表中选择所有行,如果有,则绝对不会选择任何行。
The query has two parts: the 'select' and the 'where'.
Look at the where part first:
This where clause evaluates to 'true' if there is nothing in the Trainer table, and to 'false' if there is something there. Now look at the 'select' part:
This selects all rows from the 'Owners' table.
Putting this together: the query selects all rows from the Owner table IF (and only if) there is nothing in the Trainer table -- and absolutely nothing if there is.