更好的SQL插入查询方式

Zaw*_* oo 2 sql database sql-server

其实,我不知道下面的查询有什么不同?

哪一个更好(性能等)?顺便说一句,我使用的是SQL Server.

查询1:

INSERT INTO PERSON (ID, NAME, ADDRESS) VALUES('001', 'Smit', 'London');
INSERT INTO PERSON (ID, NAME, ADDRESS) VALUES('002', 'Jhon', 'London');
Run Code Online (Sandbox Code Playgroud)

问题2:我以前从未见过

INSERT INTO PERSON (ID, NAME, ADDRESS)
SELECT '001', 'Smit', 'London' UNION ALL
SELECT '002', 'Jhon', 'London'
Run Code Online (Sandbox Code Playgroud)

Bil*_*win 5

如何使用表值构造函数的多行语法:

INSERT INTO PERSON (ID, NAME, ADDRESS) 
VALUES ('001', 'Smit', 'London'), ('002', 'Jhon', 'London');
Run Code Online (Sandbox Code Playgroud)