Sql 列出已支付所有订单或尚未下订单的客户

Sql 列出已支付所有订单或尚未下订单的客户,sql,oracle,Sql,Oracle,我正在寻找最有效的查询来获取客户名称,这些客户要么已经支付了向我们下的所有订单,要么根本没有下订单。以下是表结构: 客户到订单是一对多关系 付款状态只能是已付款或未付款 以下是我期待的样本数据和结果。 非常感谢! 您的声誉足以表明您熟悉StackOverflow。因此,你应该知道这不是一个框架良好的问题。屏幕截图不能替代实际的表结构。另外,你已经尝试过什么?到目前为止你尝试过什么?抱歉@APC,我搜索了将表添加到stackoverflow中,但没有任何快速方法,因为我更喜欢添加一个屏幕截图,以便

我正在寻找最有效的查询来获取客户名称,这些客户要么已经支付了向我们下的所有订单,要么根本没有下订单。以下是表结构:

客户到订单是一对多关系

付款状态只能是已付款或未付款

以下是我期待的样本数据和结果。 非常感谢!

您的声誉足以表明您熟悉StackOverflow。因此,你应该知道这不是一个框架良好的问题。屏幕截图不能替代实际的表结构。另外,你已经尝试过什么?到目前为止你尝试过什么?抱歉@APC,我搜索了将表添加到stackoverflow中,但没有任何快速方法,因为我更喜欢添加一个屏幕截图,以便人们能够理解表的结构。我的意图并不是真的要违反任何Stackoverflow规则,我已经尽我所能把它弄清楚了。我在查询和联合中使用了一些,我非常确定这不是一种接近最有效的方式,所以我宁愿不提及它。再次感谢!!您的声誉足以表明您熟悉StackOverflow。因此,你应该知道这不是一个框架良好的问题。屏幕截图不能替代实际的表结构。另外,你已经尝试过什么?到目前为止你尝试过什么?抱歉@APC,我搜索了将表添加到stackoverflow中,但没有任何快速方法,因为我更喜欢添加一个屏幕截图,以便人们能够理解表的结构。我的意图并不是真的要违反任何Stackoverflow规则,我已经尽我所能把它弄清楚了。我在查询和联合中使用了一些,我非常确定这不是一种接近最有效的方式,所以我宁愿不提及它。再次感谢!!
select *
from customer c
where not exists (
    select 1 from "order" o
    where o.cust_id = c.cust_id and payment_status = 'UNPAID'
)