题目
某网站包含两个表,Customers
表和 Orders
表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。
Customers
表:
1 | +----+-------+ |
Orders
表:
1 | +----+------------+ |
例如给定上述表格,你的查询应返回:
1 | +-----------+ |
题解
思路
- 将两张表join一下
- 找到join后顾客没有购物的
代码
1 | select A.Name as Customers |
- Customer A 的意思就是给Customer起个别名叫A,方便后面写代码方便,Orders B 同理
- left join 是左连接,意思是左边的全保留,如果左边的和右边的不符合on的条件,那么左边对应右边的列自动为null
- 效率比官方题解高很多