[SQL]LeetCode183. 从不订购的客户 | Customers Who Never Order
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
?微信公眾號:山青詠芝(shanqingyongzhi)
?博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
?GitHub地址:https://github.com/strengthen/LeetCode
?原文地址:https://www.cnblogs.com/strengthen/p/9720985.html?
?如果鏈接不是山青詠芝的博客園地址,則可能是爬取作者的文章。
?原文已修改更新!強烈建議點擊原文地址閱讀!支持作者!支持原創(chuàng)!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
Suppose that a website contains two tables, the?Customers?table and the?Orders?table. Write a SQL query to find all customers who never order anything.
Table:?Customers.
+----+-------+ | Id | Name | +----+-------+ | 1 | Joe | | 2 | Henry | | 3 | Sam | | 4 | Max | +----+-------+Table:?Orders.
+----+------------+ | Id | CustomerId | +----+------------+ | 1 | 3 | | 2 | 1 | +----+------------+Using the above tables as example, return the following:
+-----------+ | Customers | +-----------+ | Henry | | Max | +-----------+某網(wǎng)站包含兩個表,Customers?表和?Orders?表。編寫一個 SQL 查詢,找出所有從不訂購任何東西的客戶。
Customers?表:
+----+-------+ | Id | Name | +----+-------+ | 1 | Joe | | 2 | Henry | | 3 | Sam | | 4 | Max | +----+-------+Orders?表:
+----+------------+ | Id | CustomerId | +----+------------+ | 1 | 3 | | 2 | 1 | +----+------------+例如給定上述表格,你的查詢應(yīng)返回:
+-----------+ | Customers | +-----------+ | Henry | | Max | +-----------+方法:使用子查詢和NOT IN子句
算法:如果我們有一個訂購過的客戶列表,很容易知道誰從未訂購過。
我們可以使用以下代碼來獲取此類列表。
select customerid from orders;然后,我們可以NOT IN用來查詢不在此列表中的客戶。
1 select customers.name as 'Customers' 2 from customers 3 where customers.id not in 4 ( 5 select customerid from orders 6 );222ms
1 # Write your MySQL query statement below 2 SELECT Name as 'Customers' from Customers where Id not in (select CustomerId from Orders)?
轉(zhuǎn)載于:https://www.cnblogs.com/strengthen/p/9720985.html
總結(jié)
以上是生活随笔為你收集整理的[SQL]LeetCode183. 从不订购的客户 | Customers Who Never Order的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到自己出轨了是什么意思周公解梦
- 下一篇: 为什么总是梦到以前的女朋友