我是新來的stackoverflow,我最近經歷了一次面試作爲研究生開發人員,我被問到一個關於SQL的問題。如何找到所有未下訂單的客戶?
給定兩個表客戶和訂單,如何找到所有未下訂單的客戶。有人能告訴我什麼是實現這個目標的查詢嗎?
- 忘了提及我被要求使用JOIN運算符。
編輯:我找不到這個問題的答案,因爲這是技術性和邏輯性的。因此,我認爲我的問題與確定爲重複的問題不同。
我是新來的stackoverflow,我最近經歷了一次面試作爲研究生開發人員,我被問到一個關於SQL的問題。如何找到所有未下訂單的客戶?
給定兩個表客戶和訂單,如何找到所有未下訂單的客戶。有人能告訴我什麼是實現這個目標的查詢嗎?
- 忘了提及我被要求使用JOIN運算符。
編輯:我找不到這個問題的答案,因爲這是技術性和邏輯性的。因此,我認爲我的問題與確定爲重複的問題不同。
SELECT c.CustomerId
,Name
FROM dbo.Customers c
LEFT JOIN dbo.Orders o ON o.CustomerId = c.CustomerId
WHERE OrderId IS NULL
這轉化爲相關子查詢使用EXISTS
:
select *
from customers as c
where not exists
(select * from orders as o
where c.customer_id = o.customer_id)
存在對於給定的customer_id
非常感謝dnoeth,我忘記提及我被要求使用JOIN運算符來解決這個問題。 – user5011580
的可能重複的[內層和外層之間的差異聯接](HTTP無順序://計算器.com/questions/38549/inner-and-outer-join之間的差異) – Jupotter
這是一個基本查詢,可能需要根據表結構進行修改。我會建議你去http://www.w3schools.com/一些教程,這將有助於你。 – hpatel