欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL實現(xiàn)LeetCode(183.從未下單訂購的顧客)

 更新時間:2021年08月04日 14:51:27   作者:Grandyang  
這篇文章主要介紹了SQL實現(xiàn)LeetCode(182.從未下單訂購的顧客),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

[LeetCode] 183.Customers Who Never Order 從未下單訂購的顧客

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       |
+-----------+

這道題讓我們給了我們一個Customers表和一個Orders表,讓我們找到從來沒有下單的顧客,那么我們最直接的方法就是找沒有在Orders表中出現(xiàn)的顧客Id就行了,用Not in關(guān)鍵字,如下所示:

解法一:

SELECT Name AS Customers FROM Customers 
WHERE Id NOT IN (SELECT CustomerId FROM Orders);

或者我們也可以用左交來聯(lián)合兩個表,只要找出右邊的CustomerId為Null的顧客就是木有下單的:

解法二:

SELECT Name AS Customers FROM Customers
LEFT JOIN Orders ON Customers.Id = Orders.CustomerId
WHERE Orders.CustomerId IS NULL;

我們還可以用Not exists關(guān)鍵字來做,原理和Not in很像,參見代碼如下:

解法三:

SELECT Name AS Customers FROM Customers c
WHERE NOT EXISTS (SELECT * FROM Orders o WHERE o.CustomerId = c.Id);

參考資料:

https://leetcode.com/discuss/22624/three-accepted-solutions

https://leetcode.com/discuss/53213/a-solution-using-not-in-and-another-one-using-left-join

到此這篇關(guān)于SQL實現(xiàn)LeetCode(182.從未下單訂購的顧客)的文章就介紹到這了,更多相關(guān)SQL實現(xiàn)從未下單訂購的顧客內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL/MariaDB中如何支持全部的Unicode

    MySQL/MariaDB中如何支持全部的Unicode

    MySQL/MariaDB中,utf8字符集并不是對Unicode的真正實現(xiàn),那么MySQL/MariaDB中如何支持全部的Unicode,感興趣的朋友可以了解一下
    2021-08-08
  • MySQL 相關(guān)的環(huán)境變量

    MySQL 相關(guān)的環(huán)境變量

    所有使用mysqlclient客戶庫與服務(wù)器通信的MySQL客戶使用下列環(huán)境變量
    2009-06-06
  • mysql8.0.21下載安裝詳細教程

    mysql8.0.21下載安裝詳細教程

    這篇文章主要介紹了mysql8.0.21下載安裝詳細教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Linux上通過binlog文件恢復mysql數(shù)據(jù)庫詳細步驟

    Linux上通過binlog文件恢復mysql數(shù)據(jù)庫詳細步驟

    binglog文件是服務(wù)器的二進制日志記錄著該數(shù)據(jù)庫的所有增刪改的操作日志,接下來通過本文給大家介紹linux上通過binlog文件恢復mysql數(shù)據(jù)庫詳細步驟,非常不錯,需要的朋友參考下
    2016-08-08
  • Win10下mysql 8.0.15 安裝配置圖文教程

    Win10下mysql 8.0.15 安裝配置圖文教程

    這篇文章主要為大家詳細介紹了Win10下mysql 8.0.15 安裝配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 簡單談?wù)凪ySQL5.7 JSON格式檢索

    簡單談?wù)凪ySQL5.7 JSON格式檢索

    MySQL 5.7.7 labs版本開始InnoDB存儲引擎已經(jīng)原生支持JSON格式,該格式不是簡單的BLOB類似的替換。下面我們來詳細探討下吧
    2017-01-01
  • MySQL約束類型及舉例介紹

    MySQL約束類型及舉例介紹

    今天小編就為大家分享一篇關(guān)于MySQL約束類型及介紹的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 連接mysql連接超時報錯問題以及解決

    連接mysql連接超時報錯問題以及解決

    這篇文章主要介紹了連接mysql連接超時報錯問題以及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySQL數(shù)據(jù)庫定時備份的實現(xiàn)方法

    MySQL數(shù)據(jù)庫定時備份的實現(xiàn)方法

    這篇文章主要介紹了MySQL數(shù)據(jù)庫的定時備份的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Mysql基礎(chǔ)之常見函數(shù)

    Mysql基礎(chǔ)之常見函數(shù)

    這篇文章主要介紹了Mysql基礎(chǔ)之常見函數(shù),文中有非常詳細的代碼示例,對正在學習數(shù)據(jù)庫的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-04-04

最新評論