连接的精典笔记

[表的连接分为:内连接和外连接]------很精典,很精典。
内连接:
select a.a1,a.a2,b.b1,b.b2 from a,b  where a.id=b.id   //这是一种内连接
这是一种记录的完全匹配,表a和表b进行匹配,不匹配的记录不显示。
外连接:分为左连接和右连接
左连接:
  select a.a1,a.a2,b.b1,b.b2 from a,b  where a.id=b.id(+)   //这是一种左连接
     以左边的表(a)为主,全部显示,表a中不匹配的记录也会全部显示出来。
右连接:
  select a.a1,a.a2,b.b1,b.b2 from a,b  where a.id(+)=b.id   //这是一种右连接
     以右边的表(b)为主,全部显示,表b中不匹配的记录也会全部显示出来。
 

[表的子句]

 其中分相关子查询和无关子查询。
 相关子查询:说明子句中的条件与主表的字段有关系。
 无关子查询:说明子句中的条件与主表的字段无关系。                                 
 
 in  :select * from a where a.id in (select b.id from b )  ;
                                not in
     注意:当a.id中有null值时,null值的记录将不会返回记录,切记。
 exists 子句  select * from a where exists (select b.id from b )  ;
                                not exists
 说明:
      select * from a where exists (select * from dual where 1=1 );
      这是一个无关子查询,当子句中有返回值时,则主句中返回所有的值。
      select * from a where exists (select * from b where b.dept_id=a.dept_id);
      这是一个相关子查询,结果返回子句中相关联后查询的结果。
      select * from a where not exists (select * from b where b.dept_id=a.dept_id);
      这是一个相关子查询,结果返回子句中相关联后查询的结果中不存在的值。
 in,exists 子句查询很重要,对于特殊查询很重要。
 select 子句是返回一个结果集。
1.内连接
select *
from table_1 a,table_2 b
where a.city_id=b.city_id
2.in 子句
select *
from table_1
where city_id in
(select city_id
 from  table_2 )
3.exists 子句 
select *
from table_1 a
where exists
(select *
 from  table_2  where city_id=a.city_id)  //这是一个相关子查询
以上三条sql语句返回的值是一样的,是表a和表b 的匹配记录显示,很经典。但说明一个问题,
表a和表b之间没有外键的约束关系。

4.not exists
select *
from table_1 a
where not exists
(select *
 from  table_2  where city_id=a.city_id)  //这是一个not in 的相关子查询

显示主表中子查询中结果集中不存在的记录,很经典,因没有关键字,所以对于city_id的空值
不影响主表的查询。
5.not in
select *
from table_1
where not city_id in
(select city_id
 from  table_2 )

显示主表中字段city_id子查询中结果集中不存在的记录,但与not exists子句的区别是:如果
字段ciyt_id是空值时,则不会显示。但ot exists子句不受影响.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14876437/viewspace-557661/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14876437/viewspace-557661/

基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从事新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究与改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性与调参技巧。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值