我看了一些文章,但真的不明白select 1 from做了什么?有人说"你应该用而不是select *".这是一个exapmle表:
cust_id cust_name cust_address
1000000001 Village Toys Mapl
1000000002 Kids Place South
1000000003 Fun4All Sunny
1000000004 Fun4All Riverside
1000000005 The Toy Store 53rd
Run Code Online (Sandbox Code Playgroud)
当我写下select 1 from customer_table这句话的内容时,结果会是什么?
我有一个查询,以便查询的结果是:
SELECT CONVERT(VARCHAR(8),(MAX(END_TIME)-MIN(START_TIME)),108) as DURATION WHERE ... GROUP BY TITLE
Run Code Online (Sandbox Code Playgroud)
对于每个标题,DURATION都是不同的.查询返回:
DURATION
00:16:14
00:00:00
00:01:30
00:16:25
00:09:34
00:00:01
01:04:04
00:00:28
00:00:12
00:06:11
00:26:38
00:31:44
00:02:16
00:03:22
00:09:39
00:03:20
00:03:43
00:09:33
00:08:05
00:06:58
00:25:29
01:55:30
00:03:02
00:00:18
00:06:09
00:07:26
00:25:43
00:00:16
00:26:58
02:09:38
00:57:56
00:00:45
00:00:00
00:07:24
00:00:54
00:00:27
00:01:28
00:07:14
00:00:19
01:43:25
00:58:23
00:02:29
02:19:48
00:09:06
05:12:15
02:27:15
00:56:47
00:02:24
Run Code Online (Sandbox Code Playgroud)
我需要这些价值的总和; 我怎么才能得到它?
假设我的本地表有一个表Local_Table,我有另一个服务器和另一个数据库和表,这是Remote_Table(表结构是相同的).
Local_Table有数据,Remote_Table没有.我想从数据传输Local_Table到Remote_Table与此查询:
Insert into RemoteServer.RemoteDb..Remote_Table
select * from Local_Table (nolock)
Run Code Online (Sandbox Code Playgroud)
但表现相当缓慢.
但是,当我使用SQL Server导入导出向导时,传输速度非常快.
我究竟做错了什么?为什么使用Import-Export向导会很快,而使用insert-select语句会很慢?有任何想法吗?
我varchar在T-SQL中声明了一个变量
declare @var varchar(max);
Run Code Online (Sandbox Code Playgroud)
我有一个select查询,它返回多个值.如:
Select name from table where ...
Run Code Online (Sandbox Code Playgroud)
我想将每一行追加到此变量.例如,我的查询返回:
name
----------
Joe
Jack
William
Avarel
Run Code Online (Sandbox Code Playgroud)
我希望我@var是这样的:JoeJackWilliamAvarel
我该怎么做?我正在写这个查询,但它给了我错误:
Set @var = (Select name from table where ...)
Run Code Online (Sandbox Code Playgroud)
错误是:
子查询返回的值超过1.当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做.
谢谢