频道栏目
首页 > 安全 > Mysql > 正文
  • 3.1.11 LIMIT子句

    在该步骤中应用LIMIT子句,从上一步骤的虚拟表中选出从指定位置开始的指定行数据。对于没有应用ORDER BY的LIMIT子句,结果同样可能是无序的,因此LIMIT子句通常和ORDER BY子句一起使用。MySQL数据库的LIMIT支持...

    关键词: 3.1.11   LIMIT  子句 

  • 3.1.10 应用ORDER BY子句

    根据ORDER BY子句中指定的列对上一步输出的虚拟表进行排列,返回新的虚拟表。还可以在ORDER BY子句中指定SELECT列表中列的序列号,如下面的语句:SELECT order_id,customer_idFROM ordersORDER BY 2,1;等同...

    关键词: 3.1.10   应用  ORDER 

  • 3.1.9 应用DISTINCT子句

    如果在查询中指定了DISTINCT子句,则会创建一张内存临时表(如果内存中存放不下就放到磁盘上)。这张内存临时表的表结构和上一步产生的虚拟表一样,不同的是对进行DISTINCT操作的列增加了一个唯一索引,以此来去...

    关键词: 3.1.9   应用  DISTINCT 

  • 3.1.8 处理SELECT列表

    虽然SELECT是查询中最先被指定的部分,但是直到步骤8)时才真正进行处理。在这一步中,将SELECT中指定的列从上一步产生的虚拟表中选出。有一点容易被忽视的是,列的别名不能在SELECT中的其他别名表达式中使用。因...

    关键词: 3.1.8   处理  SELECT 

  • 3.1.7 应用HAVING过滤器

    这是最后一个条件过滤器了,之前已经分别应用了ON和WHERE过滤器。在该步骤中对于上一步产生的虚拟表应用HAVING过滤器,HAVING是对分组条件进行过滤的筛选器。对于示例的查询语句,其分组条件为:HAVING count(o...

    关键词: 3.1.7   应用  HAVING 

  • 3.1.6 应用ROLLUP或CUBE

    如果指定了ROLLUP选项,那么将创建一个额外的记录添加到虚拟表VT5的最后,并生成虚拟表VT6。因为我们的查询并未用到ROLLUP,所以将跳过本步骤。对于CUBE选项,MySQL数据库虽然支持该关键字的解析,但是并未实现该...

    关键词: 3.1.6   应用  ROLLUP 

  • 3.1.5 分组

    在本步骤中根据指定的列对上个步骤中产生的虚拟表进行分组,最后得到虚拟表VT5,如表3-10所示。在示例中进行如下分组:GROUP BY c.customer_id表 3-10 虚拟表VT5c.customer_idc.cityo.order_ido.customer_id...

    关键词: 3.1.5≈   

  • 3.1.4 应用WHERE过滤器

    对上一步骤产生的虚拟表VT3进行WHERE 条件过滤,只有符合<where_condition>的记录才会输出到虚拟表VT4中。在当前应用WHERE过滤器时,有两种过滤是不被允许的:由于数据还没有分组,因此现在还不能在WHERE过滤器...

    关键词: 3.1.4   应用  WHERE 

  • 3.1.3 添加外部行

    这一步只有在连接类型为OUTER JOIN时才发生,如LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN。虽然在大多数时候我们可以省略OUTER关键字,但OUTER代表的就是外部行。LEFT OUTER JOIN把左表记为...

    关键词: 3.1.3   添加  外部 

  • 3.1.2 应用ON过滤器

    SELECT查询一共有3个过滤过程,分别是ON、WHERE、HAVING。ON是最先执行的过滤过程。根据上一小节产生的虚拟表VT1,过滤条件为:ON c.customer_id = o.customer_id对于大多数的编程语言而言,逻辑表达式的值只...

    关键词: 3.1.2   应用  ON 

  • 3.1.1 执行笛卡儿积

    第一步需要做的是对FROM子句前后的两张表进行笛卡儿积操作,也称做交叉连接(Cross Join),生成虚拟表VT1。如果FROM子句前的表中包含a行数据,FROM子句后的表中包含b行数据,那么虚拟表VT1中将包含a*b行数据。...

    关键词: 3.1.1   执行  笛卡儿 

  • 3.1 逻辑查询处理

    SQL语言不同于其他编程语言(如C、C++、Java、Python),最明显的不同体现在处理代码的顺序上。在大多数编程语言中,代码按编码顺序被处理。但在SQL语言中,第一个被处理的子句总是FROM子句。图3-1显示了逻辑查询...

    关键词: 3.1   逻辑  查询 

  • 概述

    查询操作是关系数据库中使用最为频繁的操作,也是构成其他SQL语句(如DELETE、UPDATE)的基础。当要删除或更新某些记录时,首先要查询出这些记录,然后再对其进行相应的SQL操作。因此基于SELECT的查询操作就显得...

    关键词: 概述 

  • 2.8 小结

    不能轻视数据类型的选择,这是构建关系数据库的基础,并且将影响到之后所有数据库的应用。本章用了一些篇幅来介绍日期和时间类型及其通常存在的一些问题,这是因为该类型比较复杂,而且使用频繁。此外,在使用字...

    关键词: 2.8   小结 

  • 2.7.6 ENUM和SET类型

    ENUM和SET类型都是集合类型,不同的是ENUM类型最多可枚举65 536个元素,而SET类型最多枚举64个元素。由于MySQL不支持传统的CHECK约束,因此通过ENUM和SET类型并结合SQL_MODE可以解决一部分问题。例如,表中有一...

    关键词: 2.7.6   ENUM   

  • 2.7.5 BLOB和TEXT

    BLOB(Binary Large Object)是用来存储二进制大数据类型的。根据存储长度的不同BLOB可细分为以下4种类型,括号中的数代表存储的字节数:TINYBLOB(28)BLOB(216)MEDIUMBLOB(224)LONGBLOB(232)TEXT类型同...

    关键词: 2.7.5   BLOB   

  • 2.7.4 BINARY和VARBINARY

    BINARY和VARBINARY与前面介绍的CHAR和VARCHAR类型有点类似,不同的是BINARY和VARBINARY存储的是二进制的字符串,而非字符型字符串。也就是说,BINARY和VARBINARY没有字符集的概念,对其排序和比较都是按照二进制...

    关键词: 2.7.4   BINARY   

  • 2.7.3 CHAR和VARCHAR

    CHAR和VARCHAR是最常使用的两种字符串类型。一般来说,CHAR(N)用来保存固定长度的字符串,VARCHAR(N)用来保存变长字符类型。对于CHAR类型,N的范围为0~255,对于VARCHAR类型,N的范围为0~65 535。CHAR(N...

    关键词: 2.7.3   CHAR   

  • 2.7.2 排序规则

    排序规则(Collation)是指对指定字符集下不同字符的比较规则。其特征有以下几点:两个不同的字符集不能有相同的排序规则。每个字符集有一个默认的排序规则。有一些常用的命名规则。如_ci结尾表示大小写不敏感(...

    关键词: 2.7.2   排序  规则 

  • 2.7.1 字符集

    2.7 字符类型2.7.1 字符集在讨论字符类型前,先讨论字符集的问题。笔者发现很多问题的产生都是因为开发人员忽视了字符集的问题,导致后期维护成本的提高。在MySQL数据库中,默认的字符集是latin1,也许对于以英...

    关键词: 2.7.1   字符集 

排行
热门
论坛推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站