Documente Academic
Documente Profesional
Documente Cultură
CONSTRUO DE CONSULTAS
Select From Coluna derivada As (alias) Distinct Order by Where
CONSTRUO DE CONSULTAS
Prof Licene Nogueira
Tabela 2
Tabela 1
Tabela 2
3 4
9/9/2011
SQL podem estar em uma ou mais linhas; Palavras chaves no podem ser abreviadas ou estar separadas entre linhas; Clusula so normalmente separadas entre linhas; Tabulao e identao so usadas para melhorar legibilidade.
colunas especficas
A declarao SELECT retorna dados de uma tabela do BD. Ex.: Para trazer o cdigo, nome e o salrio de todos os empregados da tabela empregado
9/9/2011
SELECIONANDO AS TABELAS
A clusula
10
SELECIONANDO VARIVEIS
EXPRESSES ARITMTICAS
Expresses
O comando SELECT pode ser utilizado para mostrar o contedo de variveis, valores literais, etc.
SELECT @@VERSION
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
+ * /
Nota: @@VERSION uma varivel global do SQL Server que contm a verso do SQL Server utilizado.
11 12
9/9/2011
COLUNAS DERIVADAS
Colunas
COLUNAS DERIVADAS
SELECT NomeEmpregado, val_salario, val_salario + 300 FROM empregado
derivadas so aquelas resultadas de alguma expresso ou clculo. Possui um comportamento semelhante ao de uma coluna, mas no realmente armazenada em uma tabela. No se pode incluir, alterar, ou deletar valores de uma coluna derivada.
13
14
USANDO PARNTESES
SELECT NomeEmpregado, val_salario, 12 * (val_salario + 100) FROM empregado
(NULL) um valor que est indisponvel, desconhecido ou que no se aplica. Nulo no a mesma coisa que zero ou branco. Zero um nmero, e um espao em branco um caracter. Colunas de qualquer tipo podem conter NULL, a menos que seja definida como NOT NULL ou como PRIMARY KEY.
16
15
9/9/2011
CARACTERES LITERAIS
Um
literal um caractere, expresso ou nmero includo na clusula SELECT; Data e caracteres literais devem ser colocados dentro de apstrofos (ou aspas simples); Cada string de caracteres listado uma vez para cada linha retornada.
SELECT 'SQL Server'
17
18
renomear o cabealho da coluna definindo um Alias (apelido); muito til para nomear colunas derivadas com a sua funcionalidade; Deve ser escrito imediatamente aps o nome da coluna. A palavra reservada AS opcional e deve ser usada entre o nome da coluna e o alias; Deve ser colocado entre apstrofos se contiver espaos em branco.
19
20
9/9/2011
OPERAES DE CONCATENAO
Concatena
LINHAS DUPLICADAS
A exibio
colunas ou strings de caracteres com outras colunas; representado pelo operador mais ( + ); A coluna resultante do tipo caractere.
SELECT NomeEmpregado +' - '+ num_cpf AS 'Empregado e CPF' FROM empregado
21
22
O resultado da clusula DISTINCT diretamente relacionado coleo de valores selecionados, exemplo da diferena.
23
24
9/9/2011
CLUSULA ORDER BY
Para
CLUSULA ORDER BY
A ordenao
determinar a sada do resultado em uma ordem, use a clusula ORDER BY. Se estiver presente, esta deve ser a ltima clusula do comando SELECT.
SELECT expr FROM table [WHERE condition(s)] [ORDER BY {column, expr} [ASC|DESC]]
ascendente.
SELECT NomeEmpregado, cod_departamento, dat_admissao FROM empregado ORDER BY NomeEmpregado
onde: ORDER BY especifica a ordem ASC define como ordem crescente (default) DESC define como ordem decrescente.
25 26
CLUSULA ORDER BY
Retornando
em ordem decrescente.
obedece a seqncia de colunas listadas e pode-se ordenar por uma coluna que no esteja no SELECT.
27
28
9/9/2011
CLUSULA WHERE
Os
CLUSULA WHERE
A query
comandos usados at agora no tm a clusula WHERE. Neste caso, todas as linhas da tabela so retornadas. A clusula WHERE especifica uma condio que seleciona as linhas, e apenas as que satisfazem essa condio sero mostradas. A clusula WHERE segue a clusula FROM.
SELECT FROM [WHERE [DISTINCT] {*, column [alias], ...} table condition(s)]
29
abaixo far com que sejam apresentados o cdigo, nome e salrio de todos os empregados do departamento que possui o cdigo 10.
30
CLUSULA WHERE
Opcionalmente
SELECT cod_empregado, nomeempregado, val_salario FROM empregado WHERE cod_departamento = 10 ORDER BY val_salario
de caracteres e datas so colocados entre aspas simples (ou apstrofos); Datas so format-sensitive; O formato default para data 'yyyy-MM-dd'.
31
32
9/9/2011
SELECT cod_empregado, nomeempregado, num_cpf, cod_cargo FROM empregado WHERE dat_admissao = '2004-02-02'
33