Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do
AzureInstância
Gerenciada de SQL do AzurePonto de extremidade de análise de SQL no Microsoft Fabric
Warehouse no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
Especifica as colunas que a consulta Transact-SQL (T-SQL) retorna.
Convenções de sintaxe de Transact-SQL
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 só linhas exclusivas podem aparecer no conjunto de resultados. Valores nulos são considerados iguais para os fins da DISTINCT palavra-chave.
TOP (expressão) [ PERCENT ] [ WITH TIES ]
Indica que apenas um primeiro conjunto especificado ou porcentagem de linhas são retornados do conjunto de resultados da consulta. expression pode ser um número ou uma porcentagem das linhas.
Embora TOP <expression> sem parênteses tenha suporte em SELECT instruções para compatibilidade com versões anteriores, evite essa sintaxe. Para obter mais informações, confira TOP.
<Select_list>
Especifica as colunas a serem selecionadas para o conjunto de resultados. A lista de seleções é uma série de lista de expressões separadas por vírgulas. O número máximo de expressões que você pode especificar na lista de seleção é 4.096.
*
Especifica que todas as colunas de todas as tabelas e exibições na FROM cláusula devem ser retornadas. As colunas são retornadas por tabela ou exibição, conforme especificado na FROM cláusula e na ordem em que elas existem na tabela ou exibição.
| table_name | view_nametable_alias.*
Limita o escopo de * para a tabela ou exibição especificada.
column_name
O nome de uma coluna a ser retornada. Qualifique column_name para impedir uma referência ambígua, como ocorre quando duas tabelas na FROM cláusula têm colunas com nomes duplicados. Por exemplo, as tabelas e o SalesOrderHeader banco de dados AdventureWorks2025 têm uma coluna chamada ModifiedDateSalesOrderDetail . Se as duas tabelas estiverem unidas em uma consulta, você poderá especificar a data modificada das SalesOrderDetail entradas na lista de seleção como SalesOrderDetail.ModifiedDate.
expression
Uma constante, uma 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 (Propriedade),ALTER TABLE e CREATE TABLE.
Se mais de uma tabela na FROM cláusula tiver uma coluna com a IDENTITY propriedade, você deverá se qualificar $IDENTITY com o nome da tabela específico, como T1.$IDENTITY.
$ROWGUID
Retorna a coluna do GUID da linha.
Se mais de uma tabela na FROM cláusula tiver a ROWGUIDCOL propriedade, você deverá se qualificar $ROWGUID com o nome da tabela específico, como T1.$ROWGUID.
udt_column_name
O nome de uma coluna de tipo clr (common language runtime) definida pelo usuário 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 formato de cadeia de caracteres ou XML, use CAST e CONVERT ou CAST e CONVERT.
{ . | :: }
Especifica um método, uma propriedade ou um campo de um tipo de dados CLR definido pelo usuário. Use um período (.) para um método, propriedade ou campo (não estático) de instância. Use dois-pontos (::) para um método estático, propriedade ou campo. Para invocar um método, propriedade ou campo de um tipo clr definido pelo usuário, você deve ter EXECUTE permissão no tipo.
property_name
Uma propriedade pública de udt_column_name.
field_name
Um membro de dados públicos do udt_column_name.
method_name
Um método público de udt_column_name que usa um ou mais argumentos. method_name não pode ser um método mutador.
O exemplo a seguir seleciona os valores da Location coluna, definidos como ponto de tipo, na 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 AS POINT (32, 23),
@distance AS FLOAT;
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 para Date, ou Qty pode ser especificado para uma coluna chamada quantity.
Você pode usar aliases para especificar nomes para os resultados das expressões, por exemplo:
USE AdventureWorks2025;
GO
SELECT AVG(UnitPrice) AS [Average Price]
FROM Sales.SalesOrderDetail;
column_alias pode ser usado em uma ORDER BY cláusula. No entanto, você não pode usá-lo em um WHERE, GROUP BYou HAVING cláusula. Se a expressão de consulta fizer parte de uma DECLARE CURSOR instrução, column_alias não poderá ser usado na FOR UPDATE cláusula.
Remarks
Quando você inclui colunas de texto ou ntext na lista de seleção, o comprimento dos dados retornados é o menor valor das seguintes opções:
- o tamanho real da coluna de texto ,
- a configuração de sessão padrão
TEXTSIZEou - o limite de aplicativo codificado em código.
Para alterar o comprimento do texto retornado para a sessão, use a SET instrução. Por padrão, o limite no comprimento dos dados de texto retornados por uma SELECT instrução é de 4.000 bytes.
O Mecanismo de Banco de Dados do SQL Server gera a exceção 511 e reverte a instrução em execução atual se um dos seguintes comportamentos ocorrer:
A
SELECTinstrução produz uma linha de resultado ou uma linha de tabela de trabalho intermediária que excede 8.060 bytes.A
DELETEinstrução ,INSERTouUPDATE, tenta uma ação em uma linha que excede 8.060 bytes.
Ocorrerá um erro se você não especificar um nome de coluna para uma coluna criada por uma SELECT INTO ou CREATE VIEW instrução.