用到sql的遍历循环查询,如果不考虑用CET,估计又到了自己造轮子的时代了,现在觉得sql的CET确实是个好东西,针对SQL的递归查询,很是不错的方法;

with etcRecommandINfo2(c_PRecommendNo,c_RecommendName,c_RecommendNo,i_Rtype,c_ServerDir,c_Pic_Recommend,tLevel)
as
(select c_PRecommendNo,c_RecommendName,c_RecommendNo,i_Rtype,c_ServerDir,c_Pic_Recommend,0 AS tLevel  from Recommend    where c_RecommendNo='RC20150514142804'union allselect rd.c_PRecommendNo,rd.c_RecommendName,rd.c_RecommendNo,rd.i_Rtype,rd.c_ServerDir,rd.c_Pic_Recommend,et.tLevel+1 from Recommend rd inner join etcRecommandINfo2 et on et.c_PRecommendNo=rd.c_RecommendNo
)
select c_PRecommendNo,c_RecommendName,c_RecommendNo,i_Rtype,c_ServerDir,c_Pic_Recommend,tLevel from etcRecommandINfo2;

看完这段代码,你也许醉了,其实这段代码,主要就是用到了CET,先说说这个用到查询的这个表:

c_RecommendNo
标识表中唯一
c_PRecommendNo
标识该条数据的上一条数据

这是主要的2个字段,这两个字段是递归的根源。

这个语句可以按3步来理解,如下图:

1、查询基础数据;

2、基础数据关联条件,查询全部数据;

3、将查询的数据,通过with归类显示处理;

*************************************************************

**************************************************************

备注:语句2中on后面语句也很关键,=左右的顺序不能互换,互换之后,查询的结果也不相同;记得理解的顺序很关键,理解了顺序,就能查询自己想要的结果;

CET的详细内容可以参考链接:

http://www.cnblogs.com/kissdodog/archive/2013/06/24/3153012.html

转载于:https://www.cnblogs.com/xibei666/p/4503765.html

SQL 查询CET使用领悟相关推荐

  1. MyBatis原理分析之四:一次SQL查询的源码分析

    上回我们讲到Mybatis加载相关的配置文件进行初始化,这回我们讲一下一次SQL查询怎么进行的. 准备工作 Mybatis完成一次SQL查询需要使用的代码如下: Java代码   String res ...

  2. sql查询返回xml数据之应用【转载】

    sql查询返回xml数据之应用[转载] 今天查看邮件,看到一标题Using the FOR XML Clause to Return Query Results as XML,点进去看了看,以前也是知 ...

  3. python查询sqlserver视图_基于odoo11上的SQL查询构建一个新的视图或模型

    我正在研究一个奥多模块.在 我希望我的模块是一个"报告"大多数购买的产品(按客户).在 我已经在Odoo上创建了一个视图,但是现在,我需要按客户"过滤"这些视图 ...

  4. php yii orm,Yii中的sql查询的位置(或任何支持ORM的框架)?

    对于使用MVC体系结构的项目,这是更多的编码风格问题. 我正在使用Yii框架开展一个项目. 每个数据库表都有它自己的模型类,可以让我充分利用Yii的活动记录. 凉. 但是现在我需要用一个复杂的逻辑和大 ...

  5. SQL查询语句 select 详解

    查询select: 1.单表查询 2.多表查询 3.嵌套查询分类 1)单表查询 2)多表查询 A.连接查询 B.子查询 ①一般子查询 ②相关子查询*************************** ...

  6. php 优化sql,php – 优化此SQL查询

    这个SQL查询让我感到厌恶.我没有写它,但它是我们服务器问题的一个重要原因.我愿意将它分成多个查询并通过PHP进行一些处理(比如,RAND()). $sql = "SELECT a.code ...

  7. SQL 查询总是先执行SELECT语句吗?你们都错了!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 译者:无明 链接:infoq.cn/article/Oke8hgi ...

  8. MySQL番外篇:一条SQL查询语句是如何执行的?

    在面试的过程中,有的面试官会给出一条简单的SQL查询语句,让简单说一下执行的过程. SELECT * FROM emp where age=30; 以下问MySQL的基本架构图,从中可以看出SQL语句 ...

  9. SQL查询语句总是先执行SELECT?你们都错了。。。

    来源 | infoq.cn/article/Oke8hgilga3PTZ3gWvbg 很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟别人解释什么是窗口函数,我在网上搜索"是否 ...

  10. R语言构建仿真数据库(sqlite)并使用dplyr语法和SQL语法查询数据库、将dplyr语法查询语句翻译为SQL查询语句

    R语言构建仿真数据库(sqlite)并使用dplyr语法和SQL语法查询数据库.将dplyr语法查询语句翻译为SQL查询语句 目录

最新文章

  1. 剑指offer_第1题_二维数组中的查找
  2. schema类SpringMVC+Hibernate+Spring整合(二)
  3. 怎样用modelsim做后仿真
  4. 安装OpenResty(Nginx+Lua)开发环境
  5. centos6mysql编译安装_centos6编译安装MySQL
  6. 研究表明:满面笑容者,最有可能写出有影响力的论文!
  7. 【资源下载】《Pytorch模型训练实现教程》(附下载链接)
  8. perl 字符串删除末尾几个字符_perl 第六弹 变量 II
  9. 词法分析程序 LEX和VC6整合使用的一个简单例子
  10. bluez 设置绑定pin码_「RT-Thread笔记」IO设备模型及PIN设备
  11. git 日常用法记录
  12. Java基础IO流(案例源码)【六】
  13. Broadcasting in Python
  14. mysql中临时字段_MySQL临时表
  15. linux不能打开流的函数为,详解 4 种电脑提示“无法访问函数不正确”的解决方法...
  16. Ansible9:变量之Fact
  17. nfc卡模式与标准模式_解析目前NFC具有的三种工作模式
  18. python 画雷达图设置背景颜色
  19. 《Redis开发与运维》阅读笔记:键管理之单个键管理
  20. GBase 8c产品架构

热门文章

  1. 如何在 Mac 上修复丢失的鼠标光标?
  2. 苹果Mac开启root用户及切换到root用户的方法
  3. 利用python抓取网页图片
  4. To shade or not to shade
  5. 【Spring】白话IoC及容器的初始化
  6. spring.net学习(一) 搭建环境,实例化spring.net容器。
  7. 大数据实验室(大数据基础培训)——Kafka的安装、配置及基础使用
  8. 【二分图】【最大匹配】【匈牙利算法】bzoj1191 [HNOI2006]超级英雄Hero
  9. IOS恢复备份使用帮助
  10. Sharepoint Portal Server 2005?