SQL。如何检查表中是否存在记录

时间:2018-06-15 10:41:25

标签: sql sql-server tsql exists

我在数据库“TestDB”中有一个表“Table1”。在表中有3列:id,name,description。那么如何检查表1中是否存在记录?

4 个答案:

答案 0 :(得分:2)

在sql server中存在或不存在检查记录的最佳方法

IF EXISTS (SELECT 1 FROM dbo.Table1 WHERE ID = @ID )
BEGIN
END

这里我们使用 SELECT 1 ,因为我们不想加载所有列,因此它会在性能中使用。

答案 1 :(得分:1)

使用EXISTS?没有进一步的解释,这是我能提供的最好的,但是,如果你真的扩展你的问题,你会得到一个更全面的答案:

USE Sandbox;
GO

CREATE TABLE Test (ID int);

SELECT 1 AS HasData
WHERE EXISTS (SELECT 1 FROM test);
GO

INSERT INTO Test
VALUES(NULL); --intentionally NULL to show that even a single row
              --with the value NULL will cause EXISTS will return True

SELECT 1 AS HasData
WHERE EXISTS (SELECT 1 FROM test);

GO

DROP TABLE test;

答案 2 :(得分:1)

If exists (select * from table1 where Id = 2)

- 在这里做你的东西。

答案 3 :(得分:1)

您使用名称或ID

中存在检查记录等表格列

SQL查询就在这里。

Declare @id int=1
Declare @name='abc'

   IF EXISTS ( SELECT  id, name, description
                    FROM    Table1
                    WHERE   id= @id  or name=@name ) 
            BEGIN                    
                SET @RetVal = -1          --record  already exist          
                RETURN                    
            END