SQL子查询以从差异表中获取信息


SQL subqueries to get info from a diff table

因此,基本上,我是SQL的新手,可以通过练习教程更好地扩展我的知识。但我一直在这几个问题上。

我将如何向写入SQL查询

获取代理商为cid为"c006"的客户预订订单的城市。

&

获取没有通过代理a03下订单的客户的cid和姓名。

而不使用"JOIN"方法。

数据库快照:https://i.stack.imgur.com/XicJh.png

主要需要使用联接查询,您的第一个查询是:

select a.city from Orders o 
inner join Agents a on a.aid = o.aid
where o.cid = 'c006'

第二个类似,使用其他表和字段。

你可以试试这个伴侣:

-- Q1
SELECT city FROM agents
WHERE aid IN (
    SELECT aid FROM orders
    WHERE cid = 'c006'
); 
-- Q2
SELECT cid, name FROM customers
WHERE cid NOT IN (
    SELECT cid FROM orders
    WHERE aid = 'a03'
);