当前位置: 首页 > news >正文

备案期间的网站打开学做网站培训班要多少钱

备案期间的网站打开,学做网站培训班要多少钱,网站建设深圳哪里学,青岛wordpress建站数据库操作 1、 表之间连接 MYSQL 题 1、取第二高薪2、取第N高薪3、分数排名 inner join:2表值都存在 outer join:附表中值可能存在null的情况。 总结: ①A inner join B:取交集 ②A left join B:取A全部&#…

数据库操作

  • 1、 表之间连接
    MYSQL 题
    • 1、取第二高薪
    • 2、取第N高薪
    • 3、分数排名

inner join:2表值都存在

outer join:附表中值可能存在null的情况。

总结:

①A inner join B:取交集

②A left join B:取A全部,B没有对应的值,则为null

③A right join B:取B全部,A没有对应的值,则为null

④A full outer join B:取并集,彼此没有对应的值为null

1、取第二高薪

编写一个SQL查询以获得Employee表中第二高的薪水。

  • ---- + -------- +
    | Id | 薪水|

  • ---- + -------- +
    | 1 | 100 |
    | 2 | 200 |
    | 3 | 300 |

  • ---- + -------- +
    例如,给定上面的Employee表,查询应该返回200为第二高薪水。如果没有第二高的薪水,那么查询应该返回null。

  • --------------------- +
    | SecondHighestSalary |

  • --------------------- +
    | 200 |

  • --------------------- +
    或者

  • --------------------- +
    | SecondHighestSalary |

  • --------------------- +
    null

  • --------------------- +

关键字解释:
1、子查询,第一个select 如果查询没有值 为null。没有第一个select不能保证没有第二高薪的为null。
2、distinct 去重,如果一共两条数据,salary都是100,则第二个并不是第二高薪,因为查询结果并不能并列,所以将薪水为100,进行去重(薪水为100 保存一个,这样就起到一个并列的效果),这样第二高薪就为null,结果合理。

3、
① selete * from testtable limit 2,1;

② selete * from testtable limit 2 offset 1;

注意:

1.数据库数据计算是从0开始的

2.offset X是跳过X个数据,limit Y是选取Y个数据

3.limit X,Y 中X表示跳过X个数据,读取Y个数据

这两个都是能完成需要,但是他们之间是有区别的:

①是从数据库中第三条开始查询,取一条数据,即第三条数据读取,一二条跳过

②是从数据库中的第二条数据开始查询两条数据,即第二条和第三条。

select(select distinct salary 
from Employee as em
order by em.salary asc
limit 1 offset 1) as SecondHighestSalary

2、第N高薪水

表: Employee

±------------±-----+
| Column Name | Type |
±------------±-----+
| id | int |
| salary | int |
±------------±-----+
在 SQL 中,id 是该表的主键。
该表的每一行都包含有关员工工资的信息。

查询 Employee 表中第 n 高的工资。如果没有第 n 个最高工资,查询结果应该为 null 。
示例 1:

输入:
Employee table:
±—±-------+
| id | salary |
±—±-------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
±—±-------+
n = 2
输出:
±-----------------------+
| getNthHighestSalary(2) |
±-----------------------+
| 200 |
±-----------------------+
示例 2:

输入:
Employee 表:
±—±-------+
| id | salary |
±—±-------+
| 1 | 100 |
±—±-------+
n = 2
输出:
±-----------------------+
| getNthHighestSalary(2) |
±-----------------------+
| null |
±-----------------------+

关键字声明

1、limit 和offset 上一个题中讲过。
2、

//声明参数,将形参赋值给你定义的属性,因为数据库下标是从0开始的。所以-1操作。
DECLARE A INT;SET A=N-1;

3、整体代码

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
DECLARE A INT;SET A=N-1;RETURN (# Write your MySQL query statement below.select (select distinct salaryfrom Employeeorder by salary desclimit 1 offset A )                   );
END

178. 分数排名
Scores

±------------±--------+
| Column Name | Type |
±------------±--------+
| id | int |
| score | decimal |
±------------±--------+

实例:
输入:
Scores 表:
±—±------+
| id | score |
±—±------+
| 1 | 3.50 |
| 2 | 3.65 |
| 3 | 4.00 |
| 4 | 3.85 |
| 5 | 4.00 |
| 6 | 3.65 |
±—±------+
输出:
±------±-----+
| score | rank |
±------±-----+
| 4.00 | 1 |
| 4.00 | 1 |
| 3.85 | 2 |
| 3.65 | 3 |
| 3.65 | 3 |
| 3.50 | 4 |
±------±-----+
关键字:
mysql中排名函数有三个:
1、row_number():表示排序,成绩相同,也不重复
2、rank():表示排序,成绩相同,排名重复,但跳跃
3、dense_rank():表示排序,排名重复,但不跳跃

解释:
1、表示排序,成绩相同,也不重复(排名1,2)不会出现并列。
在这里插入图片描述

2、rank():表示排序,成绩相同,排名重复,但跳跃

在这里插入图片描述

3、dense_rank():表示排序,排名重复,但不跳跃

在这里插入图片描述

select score ,DENSE_RANK() OVER(ORDER BY score DESC) as 'rank'
from Scores
order by score DESC
http://www.hkea.cn/news/817609/

相关文章:

  • 做商城网站哪里买口碑营销属于什么营销
  • 鞋子 东莞网站建设真正的免费建站在这里
  • 网站上微信的链接怎么做项目平台
  • 做网站后有人抢注关键词网络营销方案策划论文
  • 苏州网站建设网站seo优化的方法
  • 设计网装修seo顾问服
  • 网站ip拦截免费网站搭建平台
  • 深圳企业网站建设公司快速申请免费个人网站
  • 唯品会 一家专门做特卖的网站沈阳seo按天计费
  • 聊城手机网站建设郑州seo服务技术
  • 个人定做衣服店江门seo推广公司
  • 网站开发与网站建设山东济南seo整站优化费用
  • 香港疫情最新消息今天深圳seo教程
  • 维护一个网站难吗免费发布外链
  • 南安市网站建设成都今天重大新闻事件
  • 网站后台补丁如何做软文有哪几种类型
  • 网站建设的费用包括哪些内容资讯门户类网站有哪些
  • 一站式服务图片制作网页的基本步骤
  • 个人网站建设网站网络网站推广
  • asp做的药店网站模板北京百度快照推广公司
  • 网站建设泉州效率网络seo的优化策略有哪些
  • 页网站无锡网站制作推广
  • 一流的龙岗网站建设目前最靠谱的推广平台
  • 企业营销型网站费用短视频推广引流
  • 化妆品可做的团购网站有哪些seo研究中心南宁线下
  • 网站空间域名是什么做电商必备的几个软件
  • 软件公司运营是做什么的seo公司运营
  • 专业云南做网站福州短视频seo服务
  • 网站开发技术期中试题电商培训机构排名
  • 网站设计连接数据库怎么做如何进行百度推广