返回首页

?SQL SERVER的提示从SQL乔斯2赞成发展系列第4天35:高效的查询写作策略???|
回答简单的测验,在博客文章 -
每天一个来自印度的优胜者将获得。查询书写策略
有些人可能会推动这个未来的技术或误解,直到结束。我们的目标是有更少的错误,你写复杂的查询,确保工程简单的东西第一更迅速。
如果你是一个SQL专家,只为你的余生,谁不会在查询中键入错误的字段名称相同的数据库,然后是你是最快的查询作家贵公司也曾经有。让,AOS面对它作为SQL专家,有时我们需要得到我们的基础数据的熟悉之前,我们得到很大的编码速度。蛮力或记忆按键解决方案时,学习,但不是很好,当你有一个最后期限,并要迅速用更少的错误,编写查询,测试的东西,你继续写更多的代码,可以很有趣。考虑到这一点,这里是我还没有找到任何一本书。当热情的SQL学生做到这一点,他们的经验启示。错误的数量显着下降,并立即编写复杂的查询的速度增加。
知道如何缩小你正在寻找广阔的选择列表之中极大的帮助。抓住正确的表,然后fieldsnbsp;第二,很像是抓住订购前,它从一个项目的右键菜单。事实上,一个名叫Tim的学生参加了这回他的SQL开发团队,他们立即实施这一进程。
我们都用下面的步骤,我们知道已经证明工作。大部分时间,动作顺序从上到下或从左到右。其他时候,我们分阶段完成的事情。你会看到这里的两个阶段申请加入表格或任何其他的查询,有大量的逻辑。只记得先组织和清理(或逐项)第二。
当你去到一个新的餐厅,你问问看菜单。你想看到他们所提供的。赔率是你可能会喜欢一半的项目,但只需要几个养活你的家人。在菜单中寻找像与SELECTnbsp关闭; *。在所有的领域之后,你选择你想要的(S)。
有时餐厅有多个菜单。我最喜欢的餐厅拥有一个孩子??菜单,一个成年人的菜单,自由,Äúgluten??菜单和饮料菜单。这些菜单聚集在我们的站。最终,在我的脑海中,选择缩小到什么需要我们的组。
第一阶段:组织。当你,Äôre建立一个新的querynbsp从很多表,你Äôll发现自己琢磨,,ÄúWhere我开始真正到这个阶段有三个步骤??首先,奠定了步骤,确定哪些表包含的基本数据。第二,让所有的加入与SELECTnbsp工作; *语句。第三,加任何基本filteringnbsp的;标准。
第二阶段:逐项列出。一旦所有的联接和标准,如SELECTnbsp *,FROMnbsp和WHERE工作,你是为第二阶段做好准备。这需要回去和SELECT *逐项选择fieldnbsp的变化;清单作为你的最后一步。
让,的AOS探讨如何这两个阶段的过程,ÄúOrganize然后逐项??是节省时间。我们将使用从过去实验室的挑战之一。技能检定2 3.2(外部联接)在实验室中,你需要得到四个fieldsnbsp;从两个不同的表。如果列出了所需的所有四个fieldsnbsp;时间和测试一个表,你会得到图4.1右侧看到一个错误。
在图4.1中,我们写的SELECTnbsp的;声明的一部分FROMnbsp;条款。将FROM子句中有两个表时,我们正在做,但现在我们只是想要得到的位置表工作。当我们使用SELECT *从1号线消除任何可能出现的错误。从那里,我们可以专注于更复杂的加入逻辑。我们可以一次添加一个表,直到所有的工作。这是整理阶段。
{S0的}
SELECTnbsp"*不要在一个结果,Äúinvalidcolumnnbsp;名称错误,但一个SELECT列表可以吗??经过你的querynbsp;组织和工作,你可以回去详细列举SELECTnbsp; fieldnbsp清单显示正是你想要的。这是逐项阶段。这些步骤被分解如下:

--ORGANIZE PHASE: Get SELECT * query written.

-- Test first table logic

SELECT *

FROM Location

--Test second table with join

SELECT *

FROM Location INNER JOIN Employee

ON Location.LocationID = Employee.LocationID

--Test all tables with criteria

SELECT *

FROM Location INNER JOIN Employee

ON Location.LocationID = Employee.LocationID

WHERE [State] = 'WA'

--ITEMIZE PHASE: Change to SELECT field list

--Choose your fields

SELECT FirstName, LastName, City, [State]

FROM Location INNER JOIN Employee

ON Location.LocationID = Employee.LocationID

WHERE [State] = 'WA'

SELECTnbsp;始终是在一个查询中的第一条语句。它,AOS自然的想之前完成编写的FROMnbsp的SELECT语句;条款。用SELECT *启动,并完成查询。做您的fieldnbsp;列出当一切完成。使用这种方法,你将永远不会再得到fieldnbsp;选择错误,而建立查询。
注:如果您想您的系统上设置样品JProCo数据库,你可以看这个{A}。问题4
问4)方括号内的要求是什么时候??/ P>关键字表名称冲突另一个表中的表的名称是相同。作为数据库表使用相同的名称。到aliasnbsp;表。
请在你的答案thenbsp发表评论部分乔斯赢得2赞成书籍。规则请留下你的答案,在正确的选择,解释和贵国居住在下面的注释部分。每天一个优胜者将宣布来自美国。每天一个优胜者将宣布从印度。一个有效的答案必须包含回答者居住国。 获奖者的名字和正确的答案,请我的{A2的}。来自美国的获胜者将得到{A3的}。来自印度的获胜者将得到{A4纸}。比赛是开放的,到明年的博客文章显示{A5的} 这是第二天勤益2.5。
参考:,皮纳尔戴维({A6的})
:{A7的} {S8的}

回答