假设有表TABLEA和表TABLEB两个表,有sql语句
select * from TABLEA,TABLEB where TABLEA.COL1=1 and TABLEA.ID=TABLEB.ID;
和
select * from TABLEB WHERE TABLEB.ID IN (SELECT ID FROM TABLEA WHERE TABLEA.COL1=1);
和
select * from TABLEB WHERE TABLEB.ID = (SELECT ID FROM TABLEA WHERE TABLEA.COL1=1);
假设从TABLEA中检索出的数据只有一条时.请问.以上sql哪条效率最高
还有,如果从TABLEA中可以检索出很多条数据时,第一条和第二条哪条效率高?
TABLEA和TABLEB中有很多数据!
select * from TABLEA,TABLEB where TABLEA.COL1=1 and TABLEA.ID=TABLEB.ID;
和
select * from TABLEB WHERE TABLEB.ID IN (SELECT ID FROM TABLEA WHERE TABLEA.COL1=1);
和
select * from TABLEB WHERE TABLEB.ID = (SELECT ID FROM TABLEA WHERE TABLEA.COL1=1);
假设从TABLEA中检索出的数据只有一条时.请问.以上sql哪条效率最高
还有,如果从TABLEA中可以检索出很多条数据时,第一条和第二条哪条效率高?
TABLEA和TABLEB中有很多数据!
2、如果TABLEA中有好多数据的话,
IN的效率没有多表连接的效率高。
2,如果多条数据的话,用left join这样效率比较高。