Home > Database > Mysql Tutorial > body text

SQL DML与CTE解释

WBOY
Release: 2016-06-07 17:43:44
Original
1330 people have browsed it

DML (Data Manipulation Language) 与 CTE ( Common Table Expression ) 今天看书时遇到的两个缩写,不知道其含义,于是就百度了一下,特地在此记录下来,以便于下次复习使用。 关于DML (Data Manipulation Language): 数据操纵语言,用户能够查询数据库以

DML (Data Manipulation Language) 与 CTE (Common Table Expression)

  今天看书时遇到的两个缩写,网站空间,不知道其含义,于是就百度了一下,特地在此记录下来,以便于下次复习使用。

  关于DML (Data Manipulation Language):

    数据操纵语言,用户能够查询数据库以及操作已有数据库中的数据的计算机语言。具体是指是UPDATE更新、INSERT插入、DELETE删除

  关于CTE (Common Table Expression):

    CTE(Common Table Expression) ,即公用表表达式,可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE ⅥEW 语句的执行范围内定义的临时结果集。CTE与派生表类似,具体表现在不存储为对象,并且只在查询期间有效。与派生表的不同之处在于,CTE 可自引用,还可在同一查询中引用多次。

  CTE可用于:

  • 创建递归查询(我个人认为CTE最好用的地方)。
  • 在同一语句中多次引用生成的表。
  •   CTE优点:

  • 使用 CTE 可以获得提高可读性和轻松维护复杂查询的优点。
  • 查询可以分为单独块、简单块、逻辑生成块。之后,香港虚拟主机,这些简单块可用于生成更复杂的临时 CTE,香港服务器,直到生成最终结果集。
  •   CTE可使用的范围:

      可以在用户定义的例程(如函数、存储过程、触发器或视图)中定义 CTE。

     

      下面看一个简单的CTE例题:

      把test表中salary最大的id记录保存在test_CTE中,再调用

      复制代码代码如下:

      with test_CTE(id,salary)   as   (     select id,max(salary)     from test     group by id    )   test_cte

     

    Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!