Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Servidor SQL
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Ponto de extremidade de análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric Preview
Especifica as colunas a serem retornadas pela consulta.
Transact-SQL convenções de sintaxe
Syntax
SELECT [ ALL | DISTINCT ]
[ TOP ( expression ) [ PERCENT ] [ WITH TIES ] ]
<select_list>
<select_list> ::=
{
*
| { table_name | view_name | table_alias }.*
| {
[ { table_name | view_name | table_alias }. ]
{ column_name | $IDENTITY | $ROWGUID }
| udt_column_name [ { . | :: } { { property_name | field_name }
| method_name ( argument [ ,...n] ) } ]
| expression
}
[ [ AS ] column_alias ]
| column_alias = expression
} [ ,...n ]
Arguments
ALL
Especifica que linhas duplicadas podem aparecer no conjunto de resultados. ALL é o padrão.
DISTINCT
Especifica que apenas linhas exclusivas podem aparecer no conjunto de resultados. Valores nulos são considerados iguais para os fins da palavra-chave DISTINCT .
TOPO (expressão ) [ POR CENTO ] [ COM GRAVATAS ]
Indica que apenas um primeiro conjunto especificado ou uma porcentagem de linhas será retornado do conjunto de resultados da consulta.
A expressão pode ser um número ou uma porcentagem das linhas.
Para compatibilidade com versões anteriores, há suporte para o uso da expressão TOP sem parênteses nas instruções SELECT, mas não a recomendamos. Para obter mais informações, consulte TOP (Transact-SQL).
< > select_list As colunas a serem selecionadas para o conjunto de resultados. A lista de seleção é uma série de expressões separadas por vírgulas. O número máximo de expressões que podem ser especificadas na lista de seleção é 4096.
*
Especifica que todas as colunas de todas as tabelas e exibições na cláusula FROM devem ser retornadas. As colunas são retornadas por tabela ou exibição, conforme especificado na cláusula FROM e na ordem em que existem na tabela ou exibição.
| table_name | view_namealias_tabela.*
Limita o escopo do * à tabela ou exibição especificada.
column_name
É o nome de uma coluna a ser retornada. Qualifique column_name para evitar uma referência ambígua, como ocorre quando duas tabelas na cláusula FROM têm colunas com nomes duplicados. Por exemplo, as tabelas SalesOrderHeader e SalesOrderDetail no AdventureWorks2022
banco de dados têm uma coluna chamada ModifiedDate. Se as duas tabelas forem unidas em uma consulta, a data de modificação das entradas SalesOrderDetail poderá ser especificada na lista de seleção como SalesOrderDetail.ModifiedDate.
expression
É uma constante, função, qualquer combinação de nomes de coluna, constantes e funções conectadas por um operador ou operadores, ou uma subconsulta.
$IDENTITY
Retorna a coluna de identidade. Para obter mais informações, consulte IDENTITY (Property) (Transact-SQL),ALTER TABLE (Transact-SQL) e CREATE TABLE (Transact-SQL).
Se mais de uma tabela na cláusula FROM tiver uma coluna com a propriedade IDENTITY, $IDENTITY deverá ser qualificada com o nome da tabela específica, como T1.$IDENTITY.
$ROWGUID
Retorna a coluna GUID da linha.
Se houver mais de uma tabela na cláusula FROM com a propriedade ROWGUIDCOL, $ROWGUID deve ser qualificada com o nome da tabela específica, como T1.$ROWGUID.
udt_column_name
É o nome de uma coluna de tipo definida pelo usuário CLR (Common Language Runtime) a ser retornada.
Note
O SQL Server Management Studio retorna valores de tipo definidos pelo usuário em representação binária. Para retornar valores de tipo definidos pelo usuário em cadeia de caracteres ou formato XML, use CAST ou CONVERT.
{ . | :: }
Especifica um método, propriedade ou campo de um tipo CLR definido pelo usuário. Use . para um método, propriedade ou campo de instância (não estático). Use :: para um método, propriedade ou campo estático. Para invocar um método, propriedade ou campo de um tipo definido pelo usuário CLR, você deve ter permissão EXECUTE no tipo.
property_name
É propriedade pública da udt_column_name.
field_name
É um membro de dados públicos de udt_column_name.
method_name
É um método público de udt_column_name que aceita um ou mais argumentos.
method_name não pode ser um método mutador.
O exemplo a seguir seleciona os valores para a Location
coluna, definida como tipo point
, da Cities
tabela, invocando um método do tipo chamado Distance
:
CREATE TABLE dbo.Cities (
Name VARCHAR(20),
State VARCHAR(20),
Location POINT);
GO
DECLARE @p POINT (32, 23), @distance FLOAT;
GO
SELECT Location.Distance (@p)
FROM Cities;
column_alias
É um nome alternativo para substituir o nome da coluna no conjunto de resultados da consulta. Por exemplo, um alias como Quantity, ou Quantity to Date, ou Qty pode ser especificado para uma coluna chamada quantity.
Os aliases também são usados para especificar nomes para os resultados de expressões, por exemplo:
USE AdventureWorks2022;
GO
SELECT AVG(UnitPrice) AS [Average Price]
FROM Sales.SalesOrderDetail;
column_alias pode ser usado em uma cláusula ORDER BY. No entanto, ele não pode ser usado em uma cláusula WHERE, GROUP BY ou HAVING . Se a expressão de consulta fizer parte de uma instrução DECLARE CURSOR, column_alias não poderá ser usada na cláusula FOR UPDATE.
Remarks
O comprimento dos dados retornados para colunas de texto ou ntext incluídas na lista de seleção é definido como o menor valor do seguinte: o tamanho real da coluna de texto , a configuração de sessão TEXTSIZE padrão ou o limite de aplicativo codificado. Para alterar o comprimento do texto retornado para a sessão, use a instrução SET. Por padrão, o limite no comprimento dos dados de texto retornados com uma instrução SELECT é de 4.000 bytes.
O Mecanismo de Banco de Dados do SQL Server gera a exceção 511 e reverte a instrução de execução atual se ocorrer um dos seguintes comportamentos:
A instrução SELECT produz uma linha de resultado ou uma linha de tabela de trabalho intermediária superior a 8.060 bytes.
A instrução DELETE, INSERT ou UPDATE tenta uma ação em uma linha superior a 8.060 bytes.
Um erro ocorre se nenhum nome de coluna for especificado para uma coluna criada por uma instrução SELECT INTO ou CREATE VIEW.
See Also
SELECT Exemplos (Transact-SQL)
Expressions (Transact-SQL)
SELECT (Transact-SQL)