随笔分类 -  SQL系列

学习SQL的系列文章以及一些编写SQL的经验
摘要:转载自:https://blog.csdn.net/xx_star1204/article/details/72884983 在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据。比如有一个学生选课表,表结构如下: Table: Subjec 阅读全文
posted @ 2018-08-02 19:32 怀瑾握瑜XI 阅读(4916) 评论(0) 推荐(0)
摘要:一.count和distinct count是统计数据条数,distinct是去掉重复列; count统计的时候会忽略null值,distinct会将重复的null值列作为一个。 综上select count(null) from table,结果永远是0。 二.count的几种形式 常见到coun 阅读全文
posted @ 2018-08-02 19:09 怀瑾握瑜XI 阅读(1656) 评论(0) 推荐(0)
摘要:说到视图view,大家应该都很熟悉。如几何学中用三视图来描述集合物体的外观构成,三视图中反应出物体的面貌。这里我们讨论数据库中视图的概念: 什么是视图 为什么会有会用视图 怎样使用视图 视图与表的异同点 1.什么是视图 视图:以一定的视角看数据。即视图是一张虚拟的表,本身不存储任何数据,数据都来源于 阅读全文
posted @ 2018-07-23 14:21 怀瑾握瑜XI 阅读(317) 评论(0) 推荐(0)
摘要:说到视图view,大家应该都很熟悉。如几何学中用三视图来描述集合物体的外观构成,三视图中反应出物体的面貌。这里我们讨论数据库中视图的概念: 什么是视图 为什么会有会用视图 怎样使用视图 视图与表的异同点 1.什么是视图 视图:以一定的视角看数据。即视图是一张虚拟的表,本身不存储任何数据,数据都来源于 阅读全文
posted @ 2018-07-23 14:21 怀瑾握瑜XI 阅读(618) 评论(0) 推荐(0)
摘要:前面的文章一直都在讲述关于DML方面的SQL Statement。这篇文章来说说表方面的DDL: CREATE 创建表 ALTER 修改表 DROP 删除表 CREATE 1.语法 CREATE TABLE [IF NOT EXISTS] table_name ( column1_name 类型, 阅读全文
posted @ 2018-07-20 17:22 怀瑾握瑜XI 阅读(253) 评论(0) 推荐(0)
摘要:前言 这个系列的前面都一直在介绍查询select。但是SQL中十分广泛,按对数据的不同处理可以分为: DML:全称Data Manipulation Language,从名字上可以看出,DML是对数据的维护管理语言,主要是处理数据本身; DDL:全称Data Definition Language, 阅读全文
posted @ 2018-07-20 12:56 怀瑾握瑜XI 阅读(174) 评论(0) 推荐(0)
摘要:SQL中的函数也非常多,而且不同的DBMS提供了相应的特殊函数。但是常用的共性函数大致可以分为以下几种: | 函数类型 | 函数 | | | | | 数值函数 | 1.算术计算:+、—、 、/ 2.数值处理:ABS()绝对值处理、PI()圆周率 3.聚合函数:SUM()、MAX()、MIN()、CO 阅读全文
posted @ 2018-07-18 17:30 怀瑾握瑜XI 阅读(296) 评论(0) 推荐(0)
摘要:在数据库设计中,基本上都是根实体ER关系和范式设计多张表。这样更能设计出更合理、紧凑的表结构,提高有效数据存储,数据的管理维护更简便,也提高了库表的伸缩性。 但是事物总是平衡的,在很多场景中单张表的数据不能满足需求,需要根据多张关联表的数据逻辑关系,返回关联数据。如:查询选修了英语课程的所有学生信息 阅读全文
posted @ 2018-07-18 15:58 怀瑾握瑜XI 阅读(272) 评论(0) 推荐(0)
摘要:1.子查询 前面的系列介绍的都是简单的查询场景,其中都只涉及到单张表的数据检索。但是在日常是实际应用中,数据模型之间的关系都非常的复杂,数据的需求一般都是来源于多个数据模型之间的组合而成,即对应多张表的数据关联。 对应以上场景,在SQL中一般有三种实现的方式: 使用多个单条SQL,按逻辑步骤检索,将 阅读全文
posted @ 2018-07-17 11:06 怀瑾握瑜XI 阅读(10361) 评论(0) 推荐(0)
摘要:在很多场景时,需要对数据按照某条件进行分组统计其数量、平均值等等。有这种需求,SQL自然也有解决方式。 在SQL中通过group by子句对结果按某条件进行分组。语法: select count(column1), columnJ from table_name group by columnJ; 阅读全文
posted @ 2018-07-16 18:43 怀瑾握瑜XI 阅读(4179) 评论(0) 推荐(0)
摘要:在看like之前先了解下通配符和搜索模式: 通 配 符 ( wildcard) 用来匹配值的一部分的特殊字符。 搜索模式(search pattern) 由字面值、通配符或两者组合构成的搜索条件。 目前SQL中支持多种通配符: 百分号%通配符:匹配任意字符任意次数。但是不支持匹配NULL值 下划线_ 阅读全文
posted @ 2018-07-16 10:54 怀瑾握瑜XI 阅读(775) 评论(0) 推荐(0)
摘要:在日常的应用中的,大多数业务场景都只是需要特定的数据,所以能够过滤筛选数据显得尤为至关重要。从需求角度分析,需要特定的数据,即需要一定条件的数据,即从全量数据中根据特定条件过滤出需要的数据。 如果需要实现这种需求,从SQL角度出发,SQL必然能够有特殊的部分能否表述特定条件。正如,SQL中使用whe 阅读全文
posted @ 2018-07-16 09:26 怀瑾握瑜XI 阅读(701) 评论(0) 推荐(0)
摘要:对查询结果进行排序是日常应用开发中最为常见的需求,在SQL中通过order by实现。order by是select语句中一部分,即子句。 1.order by 1.1 单列排序 其实,检索出的数据并不是随机显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示,这有可能是数据最初添加到表中的顺 阅读全文
posted @ 2018-07-13 11:39 怀瑾握瑜XI 阅读(2296) 评论(0) 推荐(1)
摘要:SQL语句是由DBMS处理的指令。如果你希望包括不进行处理和执行的文本,该怎么办呢?为什么你想要这么做呢?原因有以下几 点。 我们这里使用的SQL语句都很短,也很简单。然而,随着你的SQL语句变长,复杂性增加,你就会想添加一些描述性的注释,这便于你自 己今后参考,或者供项目后续参与人员参考。这些注释 阅读全文
posted @ 2018-07-13 11:38 怀瑾握瑜XI 阅读(9193) 评论(0) 推荐(0)
摘要:有时需要查询某列上的不重复的数据,如: SELECT name FROM student; 结果: | name | | | | lxy | | lxy | | lxy | | lxy | 这样的结果显然不符合我们的需求。如何对列数据进行去重,查询出唯一值。可以使用distinct关键字,如: | 阅读全文
posted @ 2018-07-13 11:38 怀瑾握瑜XI 阅读(3655) 评论(0) 推荐(0)
摘要:在开始之前先了解下SQL中的操作分类。根据与数据库不同操作的交互,对数据不同的处理类型,可以将SQL分为四种:插入、删除、修改、查询。本篇文章中主要介绍查询操作。其实查询操作也是日常应用使用最为频繁且是应用性能的关键点。 1.查询(select)语法 SELECT column1, column2. 阅读全文
posted @ 2018-07-13 11:36 怀瑾握瑜XI 阅读(490) 评论(0) 推荐(0)
摘要:在说到SQL之前需要了解一些关于数据库的概念: 数据库(database):是一个以某种有组织的方式存储的数据集合。存储数据的仓库,不过是以一定的组织方式进行存储。 DBMS:数据库管理系统。经常遇到的Mysql软件、Oracle软件、DB2软件、Postgresql软件等,这些都是数据库管理系统。 阅读全文
posted @ 2018-07-13 11:34 怀瑾握瑜XI 阅读(973) 评论(0) 推荐(0)