大家好,我死了,我是liang tang。这篇文章在公共帐户中开始
您是否研究过数据库或SQL语法?你们都知道SQL语法,但是当您真的想写时,您仍然有盲目体验吗?
SQL涉及数据处理的所有方面。它不仅由后端数据库使用,而且是算法工程师和数据分析师的必不可少的技能。这次,伯克利CS61A的作业是关于SQL应用程序的。
再一次,伯克利CS61A课程是我见过的最好的计算机输入课程。非常丰富的内容:Python,算法,数据结构,机器学习,数据可视化,甚至是编译原理的知识,编写LISP解释器。
这项工作是关于SQL的,我们需要根据SQL的要求筛选指定的数据。这使我想起了我第一次去Ali进行实习的时间。当时,实习生每天都需要SQL。但是当时,SQL刚刚学会了语法。我没有实际的战斗。我在实习期间发抖,而且我通常不够优雅。如果我在实习之前可以做这些问题,我绝对不会那么尴尬。
实际上,SQL本身的语法并不困难。它只需要有适当的场景,有适当的问题即可实践,对几个问题的思考和培训可以极大地提高熟练程度和理解。因此,对于一直在练习SQL语法的学生来说,这四个问题是一个很好的机会思考的好机会和练习。建议您尝试。
课程
原始文档
github
此作业中使用的数据是手动创建的,只有少量数据。
这些数据是关于宠物犬,带有各种类型的狗信息,例如头发,身高等。该老师非常喜欢狗,演讲视频也暴露了他所养的狗家族:
数据如下:
即使您使用更改的原始数据,表的逻辑也必须是正确的。例如,您被要求筛选所有以所有h字母开头的狗的信息。
与其假设只有一个给定的数据,不如直接选择结果:
测试数据将对这种情况进行更改。
标准贵宾犬的高度在45至60厘米之间。
该表描述了每个品种高度的上和下限。创建一个表。有两列,一个是狗的名称,其中一列就是它。
开发完成后,测试:
我们要做的答案是根据每只狗的高度找到其相应的。
该方法很简单,它将和谐地进行。
创建一张桌子,有所有狗的名称的列,根据身体的高度从高到低分类。
例如,父,高度为35,应该在排名之前,其父级仅为32个高度。
与父母高度相同的狗的分类可以随机排名,并且它们之间的顺序并不重要。
开发后测试:
答案我们需要与每个狗父母的高度进行排序,因此我们需要知道父母的高度,因此我们需要使用表格和表格加入。由于我们必须占据父母的高度,因此当我的结合条件,父母和父母和父母和名称相等。
最后,根据您的身高排序并使用语法。
为每个狗兄弟组合创建一个句子。兄弟狗组合的定义是大小相同的狗。
每对狗兄弟的组合,使用它们的大小来描述,您可以参考下面的评论:
每个狗兄弟只能出现一次,并确保小组中的狗的名字在字母中分类,例如没有。
示例示例:
暗示:
首先,创建表(我们提供了基本框架),狗兄弟的大小可以简化问题
如果让桌子自己加入它,则可以添加到来自语句的后面以给它一个别名
您可以使用缝线字符串
开发完成后测试:
答案是找出所有可能首先构成答案的狗兄弟,然后过滤工作的大小。
这是一个潜在的限制。因为您正在寻找狗兄弟,所以您必须确保发现两只狗有同一位父母,然后是这两只狗的词典顺序。
理解这一点之后,它实际上是一个非常简单的自我join表的示例:
在发现所有潜在的狗兄弟之后,我们加入了狗的大小,以确保两个狗兄弟是一样的。
狗也可以玩堆栈,高度较小的狗可以站在更高的狗身上。据称,狗堆叠后的狗的身高损失,它创建了一张带有两列数据的桌子。它将所有4只狗存放在一起,高度为170厘米。
第一列是狗的名称除以逗号。第二列是狗堆积后狗的总高度。这些组合根据总高度进行排序。
在每只狗Luohan中,每只狗只能出现一次,并且根据高度对狗进行分类,即,最高的高度狗是底部。我们可以假设没有高度相同的狗。
建议可以根据以下想法完成:
完成后测试:
实际上,问题已经解释了,整个思想和过程已经非常清楚地解释。我们使用表作为中间表来存储中间结果,以堆叠Luohan的过程。
首先创建只有一只狗,然后是一只狗手表,然后创建所有可能由两只狗组成的狗,以创建三只狗的组合。
创建新狗Luohan时,您需要确保底部狗的高度高于当前Luohan中底狗的高度。之后,我们将筛选表格中表的所有总高度的所有结果,然后根据高度进行排序。
在这一点上,本课程中的所有项目和作业都被视为肝脏。一些学生提醒我两天前我错过了实验室。我稍后会弥补这一点,谢谢您的阅读和支持。
原始:https://juejin.cn/post/7097848399881306120