MySQL
mysql基础知识
-Even-
风起云涌时,奋力求生存。
自学笔记集合地![自用版]
展开
-
【牛客】SQL218 获取所有非manager员工当前的薪水情况
有一个员工表employees简况如下:有一个,部门员工关系表dept_emp简况如下:有一个部门经理表dept_manager简况如下:有一个薪水表salaries简况如下:获取所有非manager员工薪水情况,给出dept_no、emp_no以及salary,以上例子输出:3、答案3.1 犯的错误原创 2024-05-18 20:52:39 · 294 阅读 · 0 评论 -
【牛客】SQL217 对所有员工的薪水按照salary降序进行1-N的排名
有一个薪水表salaries简况如下:对所有员工的薪水按照salary降序先进行1-N的排名,如果salary相同,再按照emp_no升序排列:3、答案RANK()函数:当两条或多条记录具有相同的值时,它们会得到相同的排名,但是后续记录的排名将会跳过。例如,如果有两个并列第一名,下一个不同的值将是第三名。DENSE_RANK()函数:在处理相同的值时,会给予相同的排名,但后续的排名不会跳过。也就是说,如果有两个并列第一名,下一个不同的值将是第二名。原创 2024-05-18 20:27:34 · 297 阅读 · 0 评论 -
【牛客】SQL216 统计各个部门的工资记录数
有一个部门表departments简况如下:有一个,部门员工关系表dept_emp简况如下:有一个薪水表salaries简况如下:请你统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum,按照dept_no升序排序,以上例子输出如下:3、答案原创 2024-05-18 20:00:38 · 222 阅读 · 0 评论 -
【牛客】SQL213 查找所有员工的last_name和first_name以及对应的dept_name
有一个员工表employees简况如下:有一个部门表departments表简况如下:有一个,部门员工关系表dept_emp简况如下:请你查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工,以上例子输出如下:3、答案原创 2024-05-18 19:19:08 · 226 阅读 · 0 评论 -
【牛客】SQL212 获取当前薪水第二多的员工的emp no以及其对应的薪水salary
有一个员工表employees简况如下:有一个薪水表salaries简况如下:请你查找薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不能使用order by完成,以上例子输出为:(温馨提示:sqlite通过的代码不一定能通过mysql,因为SQL语法规定,使用聚合函数时,select子句中一般只能存在以下三种元素:常数、聚合函数,group by 指定的列名。如果使用非group by的列名,sqlite的结果和mysql 可能不一样)原创 2024-05-13 14:19:22 · 332 阅读 · 0 评论 -
【牛客】SQL211 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
有一个薪水表salaries简况如下:请你获取薪水第二多的员工的emp_no以及其对应的薪水salary,若有多个员工的薪水为第二多的薪水,则将对应的员工的emp_no和salary全部输出,并按emp_no升序排序。原创 2024-05-13 14:02:55 · 174 阅读 · 0 评论 -
【牛客】SQL210 统计出当前各个title类型对应的员工当前薪水对应的平均工资
有一个员工职称表titles简况如下:有一个薪水表salaries简况如下:请你统计出各个title类型对应的员工薪水对应的平均工资avg。原创 2024-05-12 11:30:58 · 193 阅读 · 0 评论 -
【牛客】SQL209 查找employees表emp_no与last_name的员工信息
有一个员工表employees简况如下:请你查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列,以上例子查询结果如下:3、答案原创 2024-05-12 11:12:24 · 216 阅读 · 0 评论 -
【牛客】SQL206 获取每个部门中当前员工薪水最高的相关信息
有一个员工表dept_emp简况如下:有一个薪水表salaries简况如下:获取每个部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门编号dept_no升序排列,以上例子输出如下:3、答案3.1 每个部门最高的薪水原创 2024-05-12 11:05:39 · 351 阅读 · 0 评论 -
【牛客】SQL205 获取所有员工当前的manager
有一个员工表dept_emp简况如下:第一行表示为员工编号为10001的部门是d001部门。有一个部门经理表dept_manager简况如下:第一行表示为d001部门的经理是编号为10002的员工。原创 2024-05-12 11:05:21 · 262 阅读 · 0 评论 -
【牛客】SQL204 获取所有非manager的员工emp_no
有一个员工表employees简况如下:有一个部门领导表dept_manager简况如下:请你找出所有非部门领导的员工emp_no,以上例子输出:3、答案3.1 方法一原创 2024-05-12 11:04:55 · 299 阅读 · 0 评论 -
【牛客】SQL202 找出所有员工当前薪水salary情况
有一个薪水表,salaries简况如下:请你找出所有员工具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示,以上例子输出如下:3、答案原创 2024-05-12 11:04:37 · 212 阅读 · 0 评论 -
【牛客】SQL201 查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t
有一个薪水表,salaries简况如下:请你查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t,以上例子输出如下:3、答案GROUP BY 和 HAVING 通常一起使用来对数据进行分组和筛选。GROUP BY:这个关键字用于将结果集按照一个或多个列进行分组。在每个分组中,你可以对数据执行聚合函数(如 COUNT、SUM、AVG 等),以计算每个分组的统计信息。HAVING:这个关键字用于在分组后的结果集中进行筛选。它类似于 WHERE 子句,但 WHERE 子句是在分组之前应原创 2024-05-12 11:04:11 · 233 阅读 · 0 评论 -
【牛客】SQL199 查找所有员工的last_name和first_name以及对应部门编号dept_no
有一个员工表,employees简况如下:有一个部门表,dept_emp简况如下:请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,也包括暂时没有分配具体部门的员工,以上例子如下:原创 2024-05-12 11:03:48 · 235 阅读 · 0 评论 -
【牛客】SQL198 查找所有已经分配部门的员工的last_name和first_name以及dept_no
有一个员工表,employees简况如下:有一个部门表,dept_emp简况如下:请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示,以上例子如下:3、答案原创 2024-05-12 11:03:12 · 181 阅读 · 0 评论 -
【牛客】SQL197 查找当前薪水详情以及部门编号dept_no
有一个全部员工的薪水表salaries简况如下:有一个各个部门的领导表dept_manager简况如下:请你查找各个部门当前领导的薪水详情以及其对应部门编号dept_no,输出结果以salaries.emp_no升序排序,并且请注意输出结果里面dept_no列是最后一列,以上例子输出如下:原创 2024-05-12 11:02:42 · 186 阅读 · 0 评论 -
【牛客】SQL196 查找入职员工时间排名倒数第三的员工所有信息
有一个员工employees表简况如下:请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下:注意:可能会存在同一个日期入职的员工,所以入职员工时间排名倒数第三的员工可能不止一个。原创 2024-05-12 11:02:06 · 239 阅读 · 0 评论 -
【牛客】SQL195 查找最晚入职员工的所有信息
有一个员工employees表简况如下:请你查找employees里最晚入职员工的所有信息,以上例子输出如下:3、答案3.1 思路**ORDER BY **根据指定的列对结果集进行排序,默认按照升序,降序ORDER BY DESCLIMIT(m, n) 从第 m + 1 行开始取 n 条记录最晚员工自然是 hire_data,最晚可以用排序 ORDER BY DESC 降序来得到,然后是获取第一条记录,这样理论上是有 bug 的,因为 hire_data 可能有多个相同的记录3.2 代码原创 2024-05-12 10:56:41 · 215 阅读 · 0 评论 -
小白入门MySQL~MySQL知识整理总结(DDL、DML、DQL、DCL、函数、约束、多表查询、事务)
注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。外键:用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。左侧的emp表是员工表,里面存储员工的基本信息,包含员工的ID、姓名、年龄、职位、薪资、入职日期、上级主管ID、部门ID,在员工的信息中存储的是部门的ID dept_id,而这个部门的ID是关联的部门表dept的主键id,那emp表的dept_id就是外键,关联的是另一张表的主键。注意:目前上述两张表,只是在逻辑上存在这样一层关系;原创 2023-10-22 17:54:53 · 170 阅读 · 0 评论