博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL 查询CET使用领悟
阅读量:4691 次
发布时间:2019-06-09

本文共 1218 字,大约阅读时间需要 4 分钟。

  用到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 all    select 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

你可能感兴趣的文章
Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)
查看>>
机器学习一个完整的项目过程
查看>>
PV,AC,EV解释和计算公式
查看>>
初始Socket编程(python)
查看>>
BeautifulSoup操作大全
查看>>
UVa 11427 - Expect the Expected
查看>>
ThreadPoolExecutor中策略的选择与工作队列的选择(java线程池)
查看>>
转:如何找出发生SEGV内存错误的程序
查看>>
转:深入解析:分布式系统的事务处理经典问题及模型
查看>>
JVM之Parallel Old收集器
查看>>
js正则表达使用实例
查看>>
Dubbox中开发REST风格的远程调用
查看>>
视图\触发器\存储过程\函数\事务
查看>>
Label根据内容来显示单行还是多行
查看>>
windows安装mysql
查看>>
李宏毅 2018最新GAN课程 class 3 Theory behind GAN
查看>>
gnu
查看>>
大型网站架构读后感
查看>>
第四组-16通信2班-056 OSPF、OSPFv3协议
查看>>
新霸哥带你进入java的世界
查看>>