A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright 1996-99 © Dale Carnegie & Associates, Inc.

Apresentações semelhantes


Apresentação em tema: "José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright 1996-99 © Dale Carnegie & Associates, Inc."— Transcrição da apresentação:

1 José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright 1996-99 © Dale Carnegie & Associates, Inc.

2 3/6/2016 José Antônio - CEFET-RN 2 Crie a tabela: TipoCli CREATE Editora GO Use Editora Go Create table TipoCli ( Cod_Tipo int Not Null primary key, Nome_Tipo Varchar(100) Not Null Unique) CREATE Editora GO Use Editora Go Create table TipoCli ( Cod_Tipo int Not Null primary key, Nome_Tipo Varchar(100) Not Null Unique)

3 3/6/2016 José Antônio - CEFET-RN 3 Inclua os seguintes tipos: Tipo de clienteDescrição 1Diamante 2Ouro 3Preferencial 4Especial

4 3/6/2016 José Antônio - CEFET-RN 4 Crie a tabela: Cliente Create Table Cliente ( Cod_Cli int IDENTITY Not Null, Tipo_Cli int Not Null, Nome_Cli Varchar(100) Not Null, Sexo_Cli char(01) Not Null Constraint df_cli1 Default ‘F’, Renda_Cli decimal(12,2) Not Null Constraint df_cli2 Default 0, RG_Cli char(12), Constraint pk_Cli Primary Key (Cod_Cli), Constraint fk_Cli Foreign Key (Tipo_Cli) references TipoCli(Cod_Tipo), Constraint ch_Cli1 Check(Sexo_Cli IN (‘F’, ‘M’)), Constraint ch_Cli2 Check(Renda_Cli >=0)) Create Table Cliente ( Cod_Cli int IDENTITY Not Null, Tipo_Cli int Not Null, Nome_Cli Varchar(100) Not Null, Sexo_Cli char(01) Not Null Constraint df_cli1 Default ‘F’, Renda_Cli decimal(12,2) Not Null Constraint df_cli2 Default 0, RG_Cli char(12), Constraint pk_Cli Primary Key (Cod_Cli), Constraint fk_Cli Foreign Key (Tipo_Cli) references TipoCli(Cod_Tipo), Constraint ch_Cli1 Check(Sexo_Cli IN (‘F’, ‘M’)), Constraint ch_Cli2 Check(Renda_Cli >=0))

5 Inclusão de Dados 3/6/2016 José Antônio - CEFET-RN 5 Cod_CliCod_TipoNome_CliSexo_CliRenda_CliRG_Cli 11Olga Cristina SilvaF600045868253 21João Carlos DantasM500012345678 31Daniel Souza LeãoM600014856969 41Helena LeãoF350076556935 52Roberta CunhaF550052368987 62Renata MedeirosF250025896356

6 Leitura de Dados 3/6/2016 José Antônio - CEFET-RN 6 Lendo todas as colunas e todas as linhas SELECT ALL * FROM Cliente Ou SELECT * FROM Cliente SELECT ALL * FROM Cliente Ou SELECT * FROM Cliente

7 Leitura de Dados 3/6/2016 José Antônio - CEFET-RN 7 Escolhendo as colunas a serem lidas SELECT ALL Nome_Cli, Renda_Cli FROM Cliente Ou SELECT Nome_Cli, Renda_Cli FROM Cliente SELECT ALL Nome_Cli, Renda_Cli FROM Cliente Ou SELECT Nome_Cli, Renda_Cli FROM Cliente

8 Leitura de Dados 3/6/2016 José Antônio - CEFET-RN 8 Modificando dados apenas para leitura SELECT Nome_Cli, Renda_Cli, Renda_Cli * 1.1 FROM Cliente SELECT Nome_Cli, Renda_Cli, Renda_Cli * 1.1 FROM Cliente Ao executar este comando, note que a terceira coluna que mostra o resultado da multiplicação ficou sem um título.

9 Leitura de Dados 3/6/2016 José Antônio - CEFET-RN 9 Lendo dados usando alias SELECT Nome= Nome_Cli, Renda= Renda_Cli, [10% de aumento]= Renda_Cli * 1.1 FROM Cliente SELECT Nome= Nome_Cli, Renda= Renda_Cli, [10% de aumento]= Renda_Cli * 1.1 FROM Cliente

10 3/6/2016 José Antônio - CEFET-RN 10 Leitura de Dados Lendo dados usando alias SELECT Nome_CliAS Nome, Renda_CliAS Renda, Renda_Cli * 1.1AS [10% aumento] FROM Cliente SELECT Nome_CliAS Nome, Renda_CliAS Renda, Renda_Cli * 1.1AS [10% aumento] FROM Cliente

11 3/6/2016 José Antônio - CEFET-RN 11 Leitura de Dados Lendo dados usando alias SELECT Nome_CliNome, Renda_CliRenda, Renda_Cli * 1.1[10% aumento] FROM Cliente SELECT Nome_CliNome, Renda_CliRenda, Renda_Cli * 1.1[10% aumento] FROM Cliente

12 3/6/2016 José Antônio - CEFET-RN 12 Leitura de Dados Apresentando dados repetidos apenas uma vez SELECT DISTINCT Tipo_Cli FROM Cliente

13 3/6/2016 José Antônio - CEFET-RN 13 Leitura de Dados Escolhendo as linhas a serem lidas SELECT * FROM Cliente Where Renda_Cli >= 5000 SELECT Nome= Nome_Cli, Renda= Renda_Cli, [10% de aumento] = Renda_Cli * 1.1 FROM Cliente WHERE Renda_Cli >= 5000 SELECT Nome= Nome_Cli, Renda= Renda_Cli, [10% de aumento] = Renda_Cli * 1.1 FROM Cliente WHERE Renda_Cli >= 5000

14 3/6/2016 José Antônio - CEFET-RN 14 Leitura de Dados Criando uma tabela permanente com dados de outra tabela. SELECT * INTO ClienteAntigo FROM Cliente SELECT Cod_Cli, Nome_Cli, Renda_Cli INTO ClienteAntigo FROM Cliente SELECT Cod_Cli, Nome_Cli, Renda_Cli INTO ClienteAntigo FROM Cliente

15 3/6/2016 José Antônio - CEFET-RN 15 Leitura de Dados Criando uma tabela permanente com dados de outra tabela. SELECT Cod_Cli, Nome_Cli, Renda_Cli, Renda_Cli * 1.1 as [10% de Aumento] INTO ClienteAntigo FROM Cliente SELECT Cod_Cli, Nome_Cli, Renda_Cli, Renda_Cli * 1.1 as [10% de Aumento] INTO ClienteAntigo FROM Cliente

16 3/6/2016 José Antônio - CEFET-RN 16 Leitura de Dados Criando uma tabela temporária com dados de outra tabela. SELECT * INTO #Cli FROM Cliente SELECT * INTO ##Cli FROM Cliente SELECT * INTO #Cli FROM Cliente SELECT * INTO ##Cli FROM Cliente

17 3/6/2016 José Antônio - CEFET-RN 17 Leitura de Dados Tabelas temporárias - comentários (#) – uma cerquilha significa que a tabela criada com o comando SELECT INTO poderá ser lida apenas da conexão que a criou. (##) duas cerquilha significa que a tabela criada com o comando SELECT INTO poderá ser lida de qualquer conexão. Tanto a tabela temporária local, como a tabela global só existirão enquanto a sessão que as criou estiver aberta.

18 3/6/2016 José Antônio - CEFET-RN 18 Alteração dos Dados Escolhendo as colunas a serem alteradas UPDATE Cliente set Renda_Cli = Renda_Cli * 1.2 FROM Cliente UPDATE Cliente set Renda_Cli = Renda_Cli * 1.2 FROM Cliente UPDATE Cliente set Renda_Cli = Renda_Cli * 1.2 UPDATE Cliente set Renda_Cli = Renda_Cli * 1.2

19 3/6/2016 José Antônio - CEFET-RN 19 Alteração dos Dados Escolhendo as linhas a serem alteradas UPDATE Cliente set Renda_Cli = Renda_Cli * 1.2 Where Cod_Cli = 1 UPDATE Cliente set Renda_Cli = Renda_Cli * 1.2 Where Cod_Cli = 1

20 3/6/2016 José Antônio - CEFET-RN 20 Alteração dos Dados Escolhendo mais de uma colunas de uma vez UPDATE Cliente set Nome_Cli = ‘João Carlos da Silva’, Renda_Cli = Renda_Cli * 1.2 Where Cod_Cli = 2 UPDATE Cliente set Nome_Cli = ‘João Carlos da Silva’, Renda_Cli = Renda_Cli * 1.2 Where Cod_Cli = 2

21 3/6/2016 José Antônio - CEFET-RN 21 Exclusão dos Dados Excluindo todas as linhas de uma tabela DELETE Cliente Ou DELETE FROM Cliente TRUNCATE TABLE Cliente --Não é registrado no log DELETE Cliente Ou DELETE FROM Cliente TRUNCATE TABLE Cliente --Não é registrado no log

22 3/6/2016 José Antônio - CEFET-RN 22 Exclusão dos Dados Escolhendo as linhas a serem excluídas DELETE Cliente Where Cod_Cli = 1 Ou DELETE FROM Cliente Where Cod_Cli = 2 DELETE Cliente Where Cod_Cli = 1 Ou DELETE FROM Cliente Where Cod_Cli = 2

23 3/6/2016 José Antônio - CEFET-RN 23 A cláusula WHERE É utilizada para restringir as linhas que serão afetadas pelos comandos SELECT, UPDATE e DELETE. Select * FROM Cliente WHERE Cod_Cli = 1 Select * FROM Cliente WHERE Cod_Cli <> 2 Select * FROM Cliente WHERE Cod_Cli !> 2 Select * FROM Cliente WHERE Cod_Cli = 1 Select * FROM Cliente WHERE Cod_Cli <> 2 Select * FROM Cliente WHERE Cod_Cli !> 2

24 3/6/2016 José Antônio - CEFET-RN 24 A cláusula WHERE A Cláusula Where com os operadores lógicos Mostre todos os clientes que têm o Cod_Tipo igual a 1 e uma renda maior ou igual a 6 mil reais. SELECT * FROM Cliente Where Cod_Tipo = 1 AND Renda_Cli >= 6000 SELECT * FROM Cliente Where Cod_Tipo = 1 AND Renda_Cli >= 6000

25 3/6/2016 José Antônio - CEFET-RN 25 A cláusula WHERE A Cláusula Where com os operadores lógicos Mostre todos os clientes que têm o Cod_Tipo igual a 1 ou uma renda maior ou igual a 6 mil reais. SELECT * FROM Cliente Where Cod_Tipo = 1 OR Renda_Cli >= 6000 SELECT * FROM Cliente Where Cod_Tipo = 1 OR Renda_Cli >= 6000

26 3/6/2016 José Antônio - CEFET-RN 26 A cláusula WHERE A Cláusula Where com os operadores lógicos Mostre todos os clientes do sexo feminino. Eles devem ser do Tipo 1 ou devem ter uma renda maior ou igual a 6 mil reais. SELECT * FROM Cliente Where Sexo_Cli = ‘F’ AND (Cod_Tipo = 1 OR Renda_Cli >= 6000) SELECT * FROM Cliente Where Sexo_Cli = ‘F’ AND (Cod_Tipo = 1 OR Renda_Cli >= 6000)

27 3/6/2016 José Antônio - CEFET-RN 27 A cláusula WHERE A Cláusula Where com os operadores “Like” e “Not Like” Mostre todos os clientes cujos nomes começam com qualquer caractere e terminam com a palavra “Leão”. SELECT * FROM Cliente Where Nome_Cli Like ‘%Leão’ SELECT * FROM Cliente Where Nome_Cli Like ‘%Leão’

28 3/6/2016 José Antônio - CEFET-RN 28 A cláusula WHERE A Cláusula Where com os operadores “Like” e “Not Like” Mostre todos os clientes cujos nomes contenham, no início, no meio ou no fim, a palavra ‘’Souza”. SELECT * FROM Cliente Where Nome_Cli Like ‘%Souza%”’ SELECT * FROM Cliente Where Nome_Cli Like ‘%Souza%”’

29 3/6/2016 José Antônio - CEFET-RN 29 A cláusula WHERE A Cláusula Where com os operadores “Like” e “Not Like” Mostre todos os clientes cujos nomes não contenham, no início, no meio ou no fim, a palavra ‘’Souza”. SELECT * FROM Cliente Where Nome_Cli Like ‘%[^Souza]%”’ SELECT * FROM Cliente Where Nome_Cli Not Like ‘%Souza%’ SELECT * FROM Cliente Where Nome_Cli Like ‘%[^Souza]%”’ SELECT * FROM Cliente Where Nome_Cli Not Like ‘%Souza%’

30 3/6/2016 José Antônio - CEFET-RN 30 A cláusula WHERE A Cláusula Where com os operadores “Like” e “Not Like” Mostre todos os clientes cujos nomes apresentam na quinta e sexta posição as letras “el” e termine com qualquer caractere. SELECT * FROM Cliente Where Nome_Cli Like ‘____el%’ SELECT * FROM Cliente Where Nome_Cli Like ‘____el%’

31 3/6/2016 José Antônio - CEFET-RN 31 A cláusula WHERE A Cláusula Where com os operadores “Like” e “Not Like” Mostre todos os clientes cujos nomes apresentam apenas seis letras iniciais. SELECT * FROM Cliente Where Nome_Cli Like ‘______’ SELECT * FROM Cliente Where Nome_Cli Like ‘______’

32 3/6/2016 José Antônio - CEFET-RN 32 A cláusula WHERE A Cláusula Where com os operadores “Like” e “Not Like” Mostre todos os clientes cujos nomes tenham as seguintes características: a primeira letra pode ser qualquer dígito entre “A” e “D” e os outros caracteres podem ser qualquer um. SELECT * FROM Cliente Where Nome_Cli Like ‘[A_D]%’ SELECT * FROM Cliente Where Nome_Cli Like ‘[A_D]%’

33 3/6/2016 José Antônio - CEFET-RN 33 A cláusula WHERE A Cláusula Where com os operadores “Is Null” e “Is Not Null” Mostre apenas os cliente que não têm RG. SELECT * FROM Cliente Where RG_Cli IS NULL Mostre apenas os cliente que têm RG. SELECT * FROM Cliente Where RG_Cli IS Not NULL

34 3/6/2016 José Antônio - CEFET-RN 34 A cláusula WHERE A Cláusula Where com os operadores “Between” e “Not Between” Mostre todos os clientes que tenham uma renda entre 5 e 6 mil reais. SELECT * FROM Cliente Where Renda_Cli >= 5000 And Renda_Cli <= 6000 SELECT * FROM Cliente Where Renda_Cli BETWEEN 5000 And 6000 SELECT * FROM Cliente Where Renda_Cli BETWEEN 5000 And 6000

35 3/6/2016 José Antônio - CEFET-RN 35 A cláusula WHERE A Cláusula Where com os operadores “Between” e “Not Between” Mostre todos os clientes que tenham uma renda menor do que 5 ou maior do que 6 mil reais. SELECT * FROM Cliente Where Renda_Cli 6000 SELECT * FROM Cliente Where Renda_Cli NOT BETWEEN 5000 And 6000 SELECT * FROM Cliente Where Renda_Cli NOT BETWEEN 5000 And 6000

36 3/6/2016 José Antônio - CEFET-RN 36 Exibindo Dados Ordenados Order By Asc/Desc Mostre os dados da tabela cliente, ordenando-os de forma crescente pelo nome dos clientes. SELECT * FROM Cliente Order By Nome_Cli Ou SELECT * FROM Cliente Order By Nome_Cli ASC SELECT * FROM Cliente Order By Nome_Cli Ou SELECT * FROM Cliente Order By Nome_Cli ASC

37 3/6/2016 José Antônio - CEFET-RN 37 Exibindo Dados Ordenados Order By Asc/Desc Mostre os dados da tabela cliente, ordenando-os de forma decrescente pelo nome dos clientes. SELECT * FROM Cliente Order By Nome_Cli DESC

38 3/6/2016 José Antônio - CEFET-RN 38 Exibindo Dados Ordenados Order By Asc/Desc Mostre os dados da tabela cliente, ordenando-os de forma crescente pelo código do tipo e de forma decrescente pela renda do cliente. SELECTCod_Tipo, Renda_Cli, Nome_Cli FROM Cliente Order By Cod_Tipo ASC, Renda_Cli DESC SELECTCod_Tipo, Renda_Cli, Nome_Cli FROM Cliente Order By Cod_Tipo ASC, Renda_Cli DESC

39 3/6/2016 José Antônio - CEFET-RN 39 Exibindo Dados Ordenados Top n Mostre os dois primeiros registros da tabela cliente. SELECT TOP 2 * FROM Cliente

40 3/6/2016 José Antônio - CEFET-RN 40 Exibindo Dados Ordenados Top n Selecione os cinco primeiros clientes, ordenando-os de forma crescente pela renda de cada um, ou seja, apresenta os cinco primeiros clientes que têm a menor renda. SELECT TOP 5 Renda_Cli, Nome_Cli FROM Cliente Order By Renda_Cli ASC SELECT TOP 5 Renda_Cli, Nome_Cli FROM Cliente Order By Renda_Cli ASC

41 3/6/2016 José Antônio - CEFET-RN 41 Exibindo Dados Ordenados Top n With Ties Utilizando a cláusula WITH TIES, o SQL Server mostra as cinco linhas determinadas pela cláusula Top 5 e mostra também todas as outras linhas que tiverem a Renda_Cli igual ao valor da quinta linha. SELECT TOP 5 WITH TIES Renda_Cli, Nome_Cli FROM Cliente Order By Renda_Cli DESC SELECT TOP 5 WITH TIES Renda_Cli, Nome_Cli FROM Cliente Order By Renda_Cli DESC

42 3/6/2016 José Antônio - CEFET-RN 42 Exibindo Dados Ordenados Top n Percent A cláusula PERCENT indica que deve ser retornado um valor percentual de quantidade de linhas. Se for especificado, por exemplo, TOP 50 PERCENT, siginifica que o SQL Server deve retornar 50% das linhas inseridas na tabela. SELECT TOP 50 percent * FROM Cliente

43 3/6/2016 José Antônio - CEFET-RN 43 Exibindo Dados Ordenados Top n Percent O comando seguinte ordena de forma crescente os dados de acordo com a coluna Renda_Cli da tabela Cliente e apresenta apenas 40% das linhas da tabela. SELECT TOP 40 percent Renda_Cli, Nome_Cli FROM Cliente Order by Renda_Cli SELECT TOP 40 percent Renda_Cli, Nome_Cli FROM Cliente Order by Renda_Cli

44 3/6/2016 José Antônio - CEFET-RN 44 Exibindo Dados Ordenados Top n Percent O comando seguinte apresenta 30% das linhas da tabela Cliente, ordenada de forma crescente, e por causa da cláusula WITH TIES apresenta também todas as linhas cujo valor da coluna Renda_Cli, empata com o valor da última linha apresentada pelos 30%. SELECT TOP 30 percent With Ties Renda_Cli, Nome_Cli FROM Cliente Order by Renda_Cli SELECT TOP 30 percent With Ties Renda_Cli, Nome_Cli FROM Cliente Order by Renda_Cli

45 Fim 3/6/2016 José Antônio - CEFET-RN 45


Carregar ppt "José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright 1996-99 © Dale Carnegie & Associates, Inc."

Apresentações semelhantes


Anúncios Google