結論為:
in()適合b錶比a表資料小的情況
exists()適合b錶比a表資料大的情況
當a表資料與b表資料一樣大時,in與exists效率差不多,可任選乙個使用.
舉例:select * from emp (基礎表) where empno > 0 and exists (select 『x』 from dept where dept.deptno = emp.deptno and loc = 『melb』)
select * from emp (基礎表) where empno > 0 and deptno in(select deptno from dept where loc = 『melb』)
這兩句效果一樣。
當emp表資料較大時,使用in。dept表資料量較大時,使用exists。
SQL中EXISTS的用法
比如在northwind資料庫中有乙個查詢為 select c.customerid,companyname from customers c where exists select orderid from orders o where o.customerid c.customerid 這裡面的...
SQL中EXISTS的用法
比如在northwind資料庫中有乙個查詢為 select c.customerid,companyname from customers c where exists select orderid from orders o where o.customerid c.customerid 這裡面的...
SQL中EXISTS的用法
比如在northwind資料庫中有乙個查詢為 select c.customerid,companyname fromcustomers c where exists select orderid fromorders owhereo.customerid c.customerid 這裡面的exis...