SQL概述以及发展历程:
大多数数据库均使用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。SQL提出1974年,由IBM研究员发布了一篇揭开数据库技术的论文《SEQUEL:一门结构化的英语查询语言》,直到现在这门结构化的查询语言并没有太大的变化,想对比其他语言,SQL的半衰期可以说非常长了。SQL(Structured Query Language,结构化查询语言),称为许多数据库的标准语言,SQL标准也经历了不断发展的过程,增加了很多的功能与改变。目前没有一个数据库能够支持SQL标准的所有概念和特性,许多软件厂商对SQL基本命令集还进行了不同程度的扩充和修改,又可以支持标准以外的一些特性。
开发中遇到的SQL功能点:
在实际的开发中,可以说任何一个项目来说,都要使用到数据库的操作,也就离不开与sql进行打交道,目前市场上面常用的数据库有mysql、SQL Server、Oracle,这三种关系型数据库;还有一些就是NSQL的数据库,一般很少使用常规的sql语句进行编写处理。常用的功能就是报表的处理,在sql中实现报表的方式有很多种,最经典的是分页查询,然后汇总结果集的处理;比如说在一个大的数据库中需要查询出来本月里面,关于门票的售卖最多的是那个经典,这个就要使用到关联查询以及分页查询还有就是求出最大值的计算等等;涉及到的函数有max、group by、datediff、等等操作;
在查询比较慢的时候,需要对数据库表进行创建索引的方式提升查询的速度,比如说门票的基本信息表、门票的售卖表、订单表等等,这些表至少每个表都要一个主键、多个外键的处理。还有就是时间字段需要创建聚合索引等等方式来进行处理,便于根据时间查询的时候速度表快。
阿里云瑶池数据库SQL挑战赛题目解析:
通过本次参与阿里云瑶池数据库sql挑战赛,发现本次的三道题目都比较经典,本次参与的题目是:“编写一个SQL查询,找出每个考试中 得分最高的的考生 。若同一个考生有多条考试记录,则取最高分。如果存在并列,将并列的考生都列举出来,直到列举的考生达到或超过三人。”,这个是平时我们所经常会见到的题目,本人的解题思路是,首先需要查询分数表,求出分数表里面的最大值,然后关联查询测试表以及学生信息表,需要根据分数表查询出来,分数的个数,然后进行倒叙排列出来。
最后:
SQL已经深入到开发者的日常工作中,因为项目是要与数据打交道的,一个项目的核心就是数据,只不过是数据化的信息,比如说任何一个项目都有主业务一样,如何把项目可以数字化的帮助企业进行增加营收,以及减轻员工的工作是每个开发者的目标,只有不断的提升自己的能力,掌握更加先进的技术,才能实现这个目标。