登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

sql语句一例:多表联合查询(转)  

2008-03-20 10:01:19|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.测试数据库

部门表

deptId      deptName

  1            研发部

  2            市场部

  3            客服部

雇员表

empId         empName   deptId

  1             小罗      1

  2            罗曾英     3

问题:

写sql语句,给定一个部门名称,查询该部门下的雇员

1.连接法

view plaincopy to clipboardprint?

  1. select t2.* from department t1   
  2.   
  3. join employee t2 on t1.deptId=t2.deptId   
  4.   
  5. where t1.deptName='研发部'  

select t2.* from department t1join employee t2 on t1.deptId=t2.deptIdwhere t1.deptName='研发部'2.子查询法

view plaincopy to clipboardprint?

  1. select * from employee   
  2.   
  3. where depId in  
  4.   
  5. (   
  6.   
  7.   select  deptId  from department where deptName='研发部'  
  8.   
  9. )  


我用过的最长的联合查询代码实例,大家有空研究一下:

view plaincopy to clipboardprint?

  1. insert into T_cardMenu_851(C_MSISDN,C_CPROFILEID,C_USERLEVEL,C_USERCLASS,C_PARENTID,C_MENUID,C_APPLEN,C_ISLEAF,C_STAT,C_DOWNDATE,C_SYNID,C_BATCHNO,C_MENUNAME) select '8613511981403',c.C_CPROFILEID,c.C_USERLEVEL,c.C_USERCLASS,b.C_PARENTID,b.C_MENUID,length(b.C_BYTECODE)/2,decode(b.C_PARENTID,0,0,1),1,c.C_REGTIME,1,d.C_BATCHNO,b.c_menuname  from t_appdefault a,t_menu b,T_userinfo_851 c,t_cardprofile d where c.C_CPROFILEID=a.C_CPROFILEID and c.C_USERLEVEL=a.C_USERLEVEL and c.C_USERCLASS=a.C_USERCLASS and b.C_CPROFILEID=a.C_CPROFILEID and b.C_USERLEVEL=a.C_USERLEVEL and a.C_PARENTID=b.C_PARENTID and a.C_MENUID=b.C_MENUID and b.C_USERCLASS=a.C_USERCLASS and c.C_MSISDN='8613511981403' and a.C_STAT=1 and a.C_DOWNLOAD=1 and d.C_CPROFILEID=c.C_CPROFILEID  










  评论这张
 
阅读(2125)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018