2010-04-21 51 views
2

描述下面的SQL查詢的輸出:SQL語法新手學生

select custId, name 
from customer 
where region = "New York" 
UNION 
select cust.custId, cust.name 
from customer cust 
where cust.custId IN (select cust_order.custId 
from customer_order cust_order, company_employee comp_emp 
where cust_order.salesEmpId = comp_emp.empId 
AND comp_emp.name = 'DANIEL'); 

我的問題是:在包含from customer cust是「卡斯特」指的是列在客戶表中的行?

這是一個家庭作業的問題,我已經確定導致這一行 成分,我認爲這是卡斯特在客戶表中的列... 我不問了一個整體的解決方案,如果只是一點點鼓勵我在正確的軌道上...

+0

嗯,這看起來像一個聲明,選擇所有客戶的居住在紐約的身份證和名稱,加上丹尼爾進行銷售的所有客戶...因爲沒有指定'UNION ALL',所以沒有重複。 – 2010-04-23 18:14:15

回答

1

你應該看看SQL Server表中的混頻

有在SELECT Clause (Transact-SQL)定睛一看,搜索別名

+0

感謝您的鏈接,因爲這將幫助我更直接地找到資源! sammysmall – sammysmall 2010-04-29 16:16:29

1

Cust是客戶表上的別名。它用於使您無需在任何地方拼出整個表名稱。

+0

感謝您的意見,謝謝! sammysmall – sammysmall 2010-04-29 16:12:51

1

否 - 它創建一個表的別名

  • 所以有每次少
  • 和處理,你要使用的表的多個「副本」在同一個場景中鍵入查詢。
+0

感謝您的意見,非常感謝! sammysmall – sammysmall 2010-04-29 16:13:18

1

cust是客戶的別名,可以縮短鍵入和閱讀的時間。

+0

感謝您的意見,我們非常感謝! sammysmall – sammysmall 2010-04-29 16:13:52

1

'cust'只是'客戶'表名的別名。它可以讓你寫「cust.name」而不是「customer.name」

+0

謝謝你的回覆,很感謝! sammysmall – sammysmall 2010-04-29 16:14:28

5

cust是Customer表的別名。因此,您可以不寫customer.custId,而是寫cust.custId

+0

+1簡明扼要,包括一個例子。 – 2010-04-21 19:28:50

+0

並擊敗** HOMEWORK ** – 2010-04-21 19:30:43

+0

的目的我強烈反對做我的作業問題,但在這種情況下,作業是「描述以下SQL查詢的輸出」。如果他把**作爲我會低估他的問題提出**。 – 2010-04-21 23:21:26

1

cust是客戶表的別名。

由於查詢將查詢視爲兩個單獨的表(或至少是結果集)用於查詢目的,這使數據庫知道當您將「Customers」稱爲表名時,意思是那些來自紐約的人,而「Cust」則是指銷售員工姓名是Daniel的人。

別名描述如下:http://www.w3schools.com/sql/sql_alias.asp

+0

謝謝你的回答,很感激會繼續工作和學習! sammysmall – sammysmall 2010-04-29 16:22:54

0

「卡斯特」被用作「客戶」表的別名。