这两个查询是否相同?

本教程将介绍这两个查询是否相同?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

这两个查询是否相同? 教程 第1张

问题描述

这两个查询是否相同?
两者返回的结果是否相同?

1)

IF EXISTS(
 SELECT 
  1 
 FROM 
  Users u 
 WHERE 
  u.UPIN = @AttendingDoctorID)
BEGIN
 SELECT 
  u.UserId, 1 
 FROM 
  Users u  WITH(nolock)
 WHERE 
  u.UPIN = @AttendingDoctorID
END ELSE BEGIN
 SELECT
  u.UserId,
  1
 FROM
  Users u (nolock)
 WHERE
  u.FirstName = @AttendingDoctorFirstName AND
  u.LastName = @AttendingDoctorLastName
END

2)

SELECT
u.UserId, 1
FROM
 Users u (nolock)
WHERE
 (u.UPIN = @AttendingDoctorID)
 OR
 (u.FirstName = @AttendingDoctorFirstName AND
 u.LastName = @AttendingDoctorLastName)

推荐答案

它们不相同。

    第二个返回条件的数据。

    第一个先测试,只应用一个条件

好了关于这两个查询是否相同?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。