时间:2021-07-01 10:21:17 帮助过:3人阅读
1. join 有 left join,right join,inner join 这三种,对两个表做了笛卡尔积,然后再对结果集进行选取操作,选取满足条件的部分为结果。
2.in 是作为一个条件查询来使用的:
select * from Persons where lastName in (‘Adams‘, ‘Carter‘)
两个语句的差别,可以使用sql优化器看看它们执行的效率:
select count(distinct(typ.orig_id)) from sch.NWSTYP typ left outer join sch.NWSATT att on typ.orig_id = att.Orig_id where att.fld_code = ‘4‘ and att.fld_val = ‘1101‘;
select count(distinct(typ.orig_id)) from sch.NWSTYP typ,sch.NWSATT att where typ.TYP_CODE = ‘1501‘ and typ.orig_id = att.Orig_id and att.fld_code = ‘4‘ and att.fld_val = ‘1101‘;
上面第二条Sql 是默认使用了 inner join 来使用的。
网上查的还有提到exist
找了一篇文章:
http://weblogs.sqlteam.com/mladenp/archive/2007/05/18/60210.aspx
可以看看。
sql 里面 join in 的差别,join的用法
标签: