select 1 from table
становится устаревшим в SQL Server 2014 или будущих версиях для SQL Server; если да, то в чем альтернатива для этого?Выбирает 1 из таблицы, устаревшей в SQL Server 2014
ответ
Возможно, это поможет, если это домашнее задание.
declare @count int
select @count = count(*) from table
while (@count!=0)
begin
select 1
select @count = @count - 1
end
Я не вижу связи между вашим ответом и вопросом OP. Не могли бы вы прояснить это. Благодарю. – sqluser
Спасибо за ваш комментарий @sqluser. выберите 1 из таблицы. OP хочет видеть 1s столько же, сколько число строк таблицы. Прямо ответ показывает 1 сек столько же, сколько и количество строк таблицы. –
Если это так, вы совершенно правы. – sqluser
Select 1 from tablename
дает ответ 1 нет. или строки в таблице.
По умолчанию *
используется для всех столбцов, или вы определяете столбец с псевдонимом.
Когда вы даете select 1
, он дает единственную запись со значением 1, так как нет табло.
Когда вы даете select 1 from tablename
, это означает, что он сначала получит общую запись, и по вашему выбору 1 в списке столбцов будет отображаться 1 во всей записи.
просто попробовать
select 1
select 1 from tablename
Лично я никогда не писать код, как это, но я вижу другой разработчик SELECT 1
в двух случаях.
EXISTS (SELECT 1 FROM table)
SELECT COUNT(1) FROM table
В любом случае, 1
может быть записана в виде *
. SQL Server достаточно умен, чтобы знать, что вам действительно не нужны все столбцы. Следующие запросы делают то же самое.
SELECT COUNT(1) FROM Table
SELECT COUNT(PK) FROM Table
SELECT COUNT(*) FROM Table
Это же для запроса EXISTS (SELECT *)
Не очень уверен, что ваш quesion но выберите 1 из таблицы отображающим 1 как нормальное значение, которое является не то, что может устранить SQL Server. – sqluser
Откуда вы получили эту информацию –