请问WHERE子句只能作用于主键吗?
时间:2011-12-01
来源:互联网
SQL code
SELECT Name FROM Production.product WHERE ProductID=365ProductID是product表的主键。类似这样的例子很多。
还有有个我没弄懂的例子,书上在讲述处理分层数据的时候 有段这样的代码
USE AdventureWorks2008
SELECT
Thereport.EmployeeID,
Thereport.JobTitle,
Thereport.LastName,
Thereport.FirstName,
From
HumanResources.Emplyee2 as TheBoss
JOIN
HumanResources.Emplyee2 as Thereport
ON
TheBoss.EmployeeID = Thereport.MangerID
WHERE
TheBoss.LastName='Huntington' AND TheBoss.FirstName ='Karla'[code=SQL][/code]
他为什么要写个自连接的查询呢?
为什么不能直接
SQL code
SELECT Thereport.EmployeeID, Thereport.JobTitle, Thereport.LastName, Thereport.FirstName, From HumanResources.Emplyee2 as TheBoss WHERE TheBoss.LastName='Huntington' AND TheBoss.FirstName ='Karla'
所以我会提出疑问是不是where只能跟主键配合 查询性能才好?
作者: bios8086 发布时间: 2011-12-01
所以不仅仅是用于主键列.
作者: dawugui 发布时间: 2011-12-01
作者: fredrickhu 发布时间: 2011-12-01
用于主键列,索引列,速度快,用于其他列速度慢.
所以不仅仅是用于主键列.
满清皇族?
作者: bios8086 发布时间: 2011-12-01
TheBoss.EmployeeID = Thereport.MangerID
你要注意这里的连接条件。
作者: AcHerat 发布时间: 2011-12-01
作者: wang7535067 发布时间: 2011-12-01
书上的查询是为了找到管理 Huntington.Karla 员工的管理者的信息。
作者: AcHerat 发布时间: 2011-12-01
2、join的关联列,推荐是int格式的,性能好。
3、语句用自关联是为了增加筛选条件,确定两个列相等的一个条件。
也有其他方式的实现的语句,也许书中只是为了举例子。
作者: jiuhexuan 发布时间: 2011-12-01
作者: y_gang 发布时间: 2011-12-01
用主键当然能加快查询速度,但它不是唯一的选择,只是查询要求是这样罢了.
同一表的连接,也是业务需求的原因,这个要结合具体数据来看,比如,有这样一个表:
tb
id Parentid name
1 0 'AA'
2 1 'BB'
3 1 'cc'
4 0 'DD'
如果要求查询某个父下面的所有子,则用自连接:
select a.name as parentname,b.name as subname from tb a inner join tb b on a.id=b.Parentid where a.parentid=0
作者: qianjin036a 发布时间: 2011-12-01
作者: SylarZhou 发布时间: 2011-12-01
create table tb(id int,Parentid int,name varchar(10)) insert into tb select 1,0,'AA' insert into tb select 2,1,'BB' insert into tb select 3,1,'cc' insert into tb select 4,0,'DD' go select a.name as parentname,b.name as subname from tb a inner join tb b on a.id=b.Parentid where a.parentid=0 /* parentname subname ---------- ---------- AA BB AA cc (2 行受影响) */ go drop table tb
作者: qianjin036a 发布时间: 2011-12-01
你也看了,说的是分层查询。如4,6楼所说。
然后就是WHERE 后面可以有任何字段的,不是只可以有主键,只是主键有好处。如2楼所说。
作者: houyajin 发布时间: 2011-12-01
作者: pengxuan 发布时间: 2011-12-01
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28