加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL语句让所有客户无需订单

发布时间:2020-12-12 08:48:32 所属栏目:MsSql教程 来源:网络整理
导读:我有一个典型的Persons表和一个Orders表,定义如下,我可以执行JOIN查询作为以下命令返回所有人的命令. SELECT Persons.LastName,Persons.FirstName,Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.id=Orders.Person_id 问题是,如何撰写一份可以退还所
我有一个典型的Persons表和一个Orders表,定义如下,我可以执行JOIN查询作为以下命令返回所有人的命令.
SELECT Persons.LastName,Persons.FirstName,Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.id=Orders.Person_id

问题是,如何撰写一份可以退还所有没有订单的人的声明?

我正在使用mysql.

提前感谢.

解决方法

您可能需要使用LEFT JOIN和IS NULL:
SELECT     Persons.LastName,Persons.FirstName
FROM       Persons
LEFT JOIN  Orders ON Persons.id = Orders.Person_id
WHERE      Orders.Person_id IS NULL;

左连接的结果总是包含“左”表(Persons)的所有记录,即使连接条件在“右”表(Orders)中找不到任何匹配记录.当没有匹配时,“right”表的列在结果集中将为NULL.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读