MySQL
文章平均质量分 79
大数据learning
liuluTL
这个作者很懒,什么都没留下…
展开
-
找到不偏科的学生(提取学生的所有课程都大于各个课程平均分的学生)
今天快手面试,凉凉。首先一道SQL题,刚看起来挺简单的,可是一直不知道如何解决某个学生的所有课程都大于各自的平均分。面试完想了一下,首先计算各个课程的平均分,连接到原本的数据表上,这很容易想到,可是让各个学生的所选课程都大于他该如何弄,可以将各个分数-各自的平均分,按学生分组,删选出差值大于0的学生IDcreate table student_test_info(id bigint prima...原创 2020-04-17 19:57:26 · 803 阅读 · 0 评论 -
SQL练习题:回购率 复购率 消费差异
文章目录SQL练习题:回购率 复购率 消费差异统计不同月份的下单人数统计用户三月份的回购率和复购率统计男女用户的消费频次是否有差异统计多次消费的用户,第一次和最后一次消费间隔是多少统计不同年龄段,用户的消费金额是否有差异统计消费的二八法则,消费的top20%的用户,贡献了多少额度SQL练习题:回购率 复购率 消费差异统计不同月份的下单人数select month(paidTime),coun...原创 2020-04-17 09:38:58 · 1581 阅读 · 4 评论 -
MySQL索引与事务
文章目录MySQL索引一、什么是索引二、索引优势和劣势三、索引分类和建索引命令语句四、索引结构与检索原理五、哪些情况适合索引六、哪些情况不适合索引MySQL索引一、什么是索引官方定义:索引(index)是帮助MySQL高效获取数据的数据结构。本质:索引是一种数据结构二、索引优势和劣势三、索引分类和建索引命令语句四、索引结构与检索原理五、哪些情况适合索引六、哪些情况不适合索引...原创 2020-04-06 22:05:08 · 154 阅读 · 0 评论 -
关系型数据库中主键(primary key)和外键(foreign key)的概念。
刚接触关系型数据库的同学,会听过主键和外键的概念。这是关系型数据库的基本概念,需要清楚理解。今天我就以简洁的语言总结一下这个概念。主键。一句话概括:一张表中,可以用于唯一标识一条记录的字段组(或者说是属性组)。给你一个主键的值,你就可以找到一条确定的记录。如:学生表:学号,姓名,性别,课程。这里学号就是主键。给你一个学号,就可以找到一条学生记录。课程表:课程编号,课程名称,学分。这里课程编号就...转载 2020-04-06 17:23:56 · 2167 阅读 · 0 评论 -
34道经典SQL试题(完结附create原数据)
文章目录MySQL练习题数据表代码第一题:取得每个部门最高薪水的人员名称MySQL练习题数据表代码drop table if exists dept;drop table if exists salgrade;drop table if exists emp; create table dept( deptno int(10) primary key, dname varch...原创 2020-03-28 23:12:42 · 2327 阅读 · 0 评论 -
数据库练习——leetcode(196):删除重复的邮箱(delete not in)
文章目录删除重复的邮箱一、题目二、解析删除重复的邮箱一、题目二、解析可以先找到独特的ID,然后从原表中将不在独特ID中的数据删除注意要将独特的ID生成一个临时表,否则会报错因为对于SQL里删除这个操作而言 要求查询条件里不能有删除的那个表 就是删除Person表时person表不能出现在where条件里 防止出现递归删除或死循环 所以需要在外面套一层临时表t解决这个问题dele...原创 2020-03-26 11:51:34 · 259 阅读 · 0 评论 -
数据库练习——leetcode(185):部门工资前三高的员工(骚操作,选取每个部门前三名的工资)
文章目录部门工资前三高的员工题目解析部门工资前三高的员工题目解析第一步:找到每部门前三名的工资,注意可以有的部门前三名的工资人数不足三个,当然也有可能多于3,该怎么解决,当时我看答案清一色的3>count,我也是一脸蒙蔽,看了多家的解析才看懂,对于我这种小白也是一大挑战了。select e1.Salary from Employee as e1 where 3 > (se...原创 2020-03-23 22:15:29 · 450 阅读 · 0 评论 -
数据库练习——leetcode(184):部门工资最高的员工(in的骚操作:两个字段竟然也可以用in)
文章目录部门工资最高的员工题目解析部门工资最高的员工题目解析第一步:在emploee表中找到最大的工资以及部门ID,这样做的好处是可以避免有多个人工资都最高第二步:内连接后,查找题上给定的字段,条件是工资与ID在第一步查找的表中第一步SELECT DepartmentId, MAX(Salary)FROM EmployeeGROUP BY Departmen...原创 2020-03-23 21:10:27 · 231 阅读 · 0 评论 -
数据库练习——leetcode(183):从不订购的客户(左连接)
文章目录从不订购的客户题目解析从不订购的客户题目解析select c.Name as Customers from Customers as c left join Orders as o on c.ID = o.CustomerID where o.CustomerID is null;左连接时候,左边的显示完整表,右边的不满足on后面的条件则为null,注意判断不存在的值时用...原创 2020-03-22 10:44:24 · 185 阅读 · 0 评论 -
数据库练习——leetcode(182):查找所有重复的电子邮箱(如何查找一个字段中重复的数字group by 与having)
文章目录查找所有重复的电子邮箱(如何查找一个字段中重复的数字)题目解析思路一:子查询思路二:group by 和 having查找所有重复的电子邮箱(如何查找一个字段中重复的数字)题目解析思路一:子查询先利用group by按相同的email分成一个组,做聚合统计,将每个email的数量计算出来,形成一个表,再在这个表里查询count(email)大于2的数量:select Emai...原创 2020-03-22 10:17:14 · 552 阅读 · 0 评论 -
数据库练习——leetcode(181):超过经理收入的员工
文章目录超过经理收入的员工题目解析超过经理收入的员工题目解析笛卡尔积查询,添加两个条件select a.Name as Employee from Employee as a join Employee as b on a.ManagerId = b.Id and a.Salary>b.Salary...原创 2020-03-22 09:40:03 · 277 阅读 · 0 评论 -
数据库练习——leetcode(180):连续出现的数字
文章目录连续出现的数字题目解析连续出现的数字题目解析首先一定要非常明确的是本题是要找连续出现的数字,连续!如何判断连续,通过ID来判断,步骤一:将表复制三份,分别命名为l1,l2,l3select * from Logs as l1, Logs as l2, logs as l3这个的效果为两个表相连接了,笛卡尔连接,一个ID对应另一个表的全部ID,效果如下:步骤二:找到...原创 2020-03-21 23:32:34 · 254 阅读 · 0 评论 -
数据库练习——leetcode(178):分数排名
文章目录数据库练习——leetcode(178):分数排名一、题目二、解析数据库练习——leetcode(178):分数排名一、题目二、解析首先我们看到输出结果有两列,因此我们要查询的是两个东西,一个是分数,一个是排名。分数好茶,普通查询加一个排序即可,那我们应该如何计算排名?你给一个分数,要计算这个分数排第几名只需要知道你前面有多少个distinct分数比你高的即可,然后再count一...原创 2020-03-19 10:16:28 · 380 阅读 · 0 评论 -
数据库练习——leetcode(177):第N高的薪水
文章目录第N高的薪水一、题目二、解析第N高的薪水一、题目二、解析参考第176题,求解第二高的薪水,只不过此题需要考虑N=0的情况,N=0时,同样返回NULLCREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN SET N = N-1; IF N < 0 THEN RETURN NULL; ELSE...原创 2020-03-19 09:16:36 · 341 阅读 · 0 评论 -
数据库练习——leetcode(176):薪资第二的薪水-分页查询limit与对null的处理
文章目录数据库练习——leetcode(176):分页查询limit与对null的处理题目二、解析数据库练习——leetcode(176):分页查询limit与对null的处理题目二、解析利用limit语句进行查询:select distinct Salary as SecondHighestSalaryfrom employeeorder by Salary descli...原创 2020-03-18 16:32:44 · 176 阅读 · 0 评论 -
MySQL函数:LIMIT与OFFSET,IFNULL
文章目录MySQL函数一、LIMIT 与OFFSET二、IFNULL函数MySQL函数一、LIMIT 与OFFSET之前只知道limit(分页查询)的用法,没想到竟然又冒出来一个OFFSET:limit start, countstart 默认值为0,表示跳过多少数据开始查询count表示跳过start条数据后,要查询count条数据limit a offset b他代表的...原创 2020-03-18 16:14:54 · 410 阅读 · 0 评论 -
数据库练习——leetcode(175):多表查询
文章目录数据库练习——leetcode(175):组合两张表 外连接一、题目二、解析三、内连接与外连接数据库练习——leetcode(175):组合两张表 外连接一、题目二、解析本题主要考察多表连接。按题意要求,使用outer join时可以保证指定表的每条记录都出现----即使没有匹配, outer join又可以分为left join, right join, full joi...原创 2020-03-18 13:01:43 · 259 阅读 · 0 评论 -
MySQL(二):数据库设计
文章目录数据库设计一、三范式第一范式(1NF):强调列的原子性,即列不能再分成其他列第二范式(2NF):首先是1NF,另外包含两个部分的内容,一是必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。第三范式(3NF):首先是2NF;另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在列A依赖于非主键列B,非主键列B依赖于主键的情况。二、E-R模型三、逻辑...原创 2020-03-18 11:21:55 · 184 阅读 · 0 评论 -
MySQL(一)增删改查
文章目录MySQL简单命令数据表的操作创建表数据增删改查(curd)1 增加insert 的三种方式1.2 指定列插入,值和列一一对应1.3 多行插入2 修改 update3 删除 delete4 查询4.1 新建数据库4.2 添加数据4.3 基础查询4.4 条件查询where4.4.1 比较运算符4.4.2 逻辑运算符 与(and)或(or)非(not)4.5 模糊查询(like)4.6 范围查...原创 2020-03-18 08:59:20 · 146 阅读 · 0 评论