随笔分类 - [LeetCode]-[DataBase]
摘要:本题是让我们找出不同部门中各个部门的最高工资中的人和具体的薪水。题中有两张表,分别是Employee表和Department表,其中Employee表中有的是Id、Name、Salary、和DepartmentId,Department表中含有的字段是Id和Name。需要求的表中的字段是Depart
阅读全文
摘要:其实这道题的解法与我在这篇文章中有异曲同工之处:https://www.cnblogs.com/lsyb-python/p/11083828.html,这道题让我们找Num列中连续出现相同数字三次的数字,那么由于需要找三次相同数字,所以我们需要建立三个表的实例,我们可以有a、b和c内交,a和b的id
阅读全文
摘要:本题是比较简单的题目:要求让我们写一个SQL查询,报表能为person表中的每个人提供FirstName、LastName、City、和State,无论这些人是否有地址: 解法一: 解法二: 可以使用关键字NATURAL,这样我们就不要申明具体的列了,MySQL可以自行搜搜相同的列: 解法三: 在使
阅读全文
摘要:SQL笔试题 1、请简单写出left join和join的用法区别(可举例说明); join用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段; left join 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为NULL。 如下使
阅读全文
摘要:需求是:求出连续三天有销售记录的店铺。 解法: 寻找每个店铺是否连续三天都有销售额,利用现有的表,构造一个中间表,中间表既有当前日期的销售额,又有当前日期后两天的销售额,然后筛选销售额大于0的店铺的名称即可: 可以看到需要借助str_to_date和datediff函数处理日期的差值,每一条记录相邻
阅读全文
摘要:解法一: 使用的方法是表customers和表orders左连接,并且条件是customerId为空的客户: 解法二: 使用的方法是使用not in :
阅读全文
摘要:本题是找表Person中重复的邮箱,并且该表中的邮箱字母都是小写字母。这道题比较简单,主要涉及到的知识点就是group by 与 having count 的组合,具体的解法如下: 解法一: 解法二: 我们可以使用内交来做,用Email来内交两个表,然后返回Id不同的行,则说明两个不同的人使用了相同
阅读全文
摘要:本题是有一张表Employee,表中包含employee和他们的manager,分别有name列、Salary列和ManagerId列,需要找出employee比自己的manager领的薪水高的employee: 解法一: 解法二:
阅读全文
摘要:这道题目让我们对分数进行排序。如果两个分数之间相同则存在相同的排名,需要注意的是,如果有相同排名后,下一个排名数字应该是一个连续的整数值: 在这里我们先拓展一下,先使用Excel函数来对此项题目求解: 在Excel中,可以使用SUMPRODUCT()函数来求解: 接着我们使用SQL语句来实现该需求:
阅读全文
摘要:解法一: 解法二: 解法三:
阅读全文

浙公网安备 33010602011771号