select distinct o.Cid,Cname from Orders o,Customers c where o.Cid=c.Cid and Aid not in( select Aid from Agents where City=’北京’) and Pid not in ( select Pid not in ( select Pid from Products where Pname=’笔袋’)
时间: 2023-06-12 07:07:47 浏览: 131
select distinct用法
这是一个 SQL 查询语句,根据题意解释如下:
从 Orders 表和 Customers 表中选取 Cid 和 Cname 列,要求 Orders 表中的 Cid 必须与 Customers 表中的 Cid 相等。同时,Agents 表中的 Aid 不应该在 City 为“北京”的代理商中出现。另外,Products 表中的 Pid 不应该是 Pname 为“笔袋”的产品之外的产品。最后,去除重复的结果。
需要注意的是,第三个条件中子查询的嵌套关系存在问题,应该改为:
```
select distinct o.Cid, Cname
from Orders o, Customers c
where o.Cid = c.Cid
and o.Aid not in (
select Aid
from Agents
where City='北京'
)
and o.Pid not in (
select Pid
from Products
where Pname='笔袋'
);
```
阅读全文