易截截图软件、单文件、免安装、纯绿色、仅160KB

请教一个sql查询的问题。 - MS-SQL Server / 应用实例

有两表(T_CAR)
{
CAR_ID INT IDENTITY
CUST_ID INT
}
(T_CUSTOMER)
{
CUST_ID INT IDENTITY
CUST_NAME VARCHAR(100)
}

现在要查询表(T_CAR)中字段CUST_ID不存在表(T_CUSTOMER)的数据

已知查询sql有两个
一)
SELECT * from T_CAR WHERE CUST_ID NOT IN (SELECT CUST_ID from T_CUSTOMER)
二)
SELECT * from T_CAR C LEFT JOIN T_CUSTOMER R ON C.CUST_ID=R.CUST_ID WHERE R.CUST_ID IS NULL (已知CUST_ID在表T_CAR是唯一的。)

请问。以上两种查询sql,性能更好(在如下三种情况下:1>表T_CUSTOMER的数据量很大,2>表T_CAR的数据量很大, 3>两表的数据量都很大)?
上面两个相比,第二个查询效率会高


学习。

select *
from car
left join customer c on car.cust_id=c.cust_id
where c.cust_id is null


相关问答:

sql小小的疑问 - .NET技术 / C#

可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......

求一时间比较的SQL 指令 - MS-SQL Server / 基础类

表数据
COL1 COL2 COL2 COL4 COL5
----------------------------------------------------------------------------------------------
2010-05-05 00:00 ......

关于SQL语句OR的问题 - Oracle / 高级技术

通过NAME字段条件查询一个数据表,假设我有100个姓名,有以下两个方法,
方法1:
把100个Name 组成一个SQL语句,比如 Select * from tmp_table where Name='张三' or Name ='李四' Or ...Or Name='第一百个姓名'
......

sql语句问题 - Java / Web 开发

select o_customer,o_price from orders having o_price >=avg(o_price)
select o_customer,o_price from orders where o_price >=(select avg(o_price) from orders)
我感觉没有区别啊,怎么在mysql会有 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号