Chinaunix首页 | 论坛 | 博客
  • 博客访问: 351932
  • 博文数量: 53
  • 博客积分: 4015
  • 博客等级: 上校
  • 技术积分: 1180
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-15 12:43
文章分类

全部博文(53)

文章存档

2011年(2)

2010年(15)

2009年(8)

2008年(28)

我的朋友

分类: Oracle

2010-07-05 13:43:10

关键字: sql


  A,B两个表,

  (1)当只显示一个表的数据如A,关系条件只一个如ID时,使用IN更快:

  select * from A where id in (select id from B)

  (2)当只显示一个表的数据如A,关系条件不只一个如ID,col1时,使用IN就不方便了,可以使用EXISTS:

  select * from A

  where exists (select 1 from B where id = A.id and col1 = A.col1)

  (3)当只显示两个表的数据时,使用IN,EXISTS都不合适,要使用连接:

  select * from A left join B on id = A.id
阅读(423) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~