2010-04-21 22 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

“卡斯特”被用作“客户”表的别名。