Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

segunda-feira, 3 de outubro de 2011

SQL Server 2008 - Modulo 02 - Curso 2778

--Aula 01 - Iniciando
CREATE DATABASE DB2778
GO


USE DB2778
GO


CREATE TABLE clientes
(
    cod_cli            INT            IDENTITY        PRIMARY KEY,
    nome_cli        CHAR(50)    NOT NULL,
    sexo_cli        CHAR(01),
    datanasc_cli    DATETIME,
    numfilhos_cli    TINYINT,
    status_cli        CHAR(01),    --0 Inativo 1 Ativo
    email_cli        VARCHAR(100),
    cid_cli            CHAR(30)
)
GO


SET NOCOUNT ON
INSERT INTO clientes VALUES
('Adriana de Oliveira', 'F', '1959-10-13', 1, '1','adrianao@people.com.br', 'Brasília'),
('Adriana Souza', 'F', '1960-08-17', 2, '1','adrianas@people.com.br', 'São José dos Campos'),
('Adriano Ferreira', 'M', '1949-06-20', 0, '1','adriano@people.com.br', 'Cajamar'),
('Aguinaldo da Silva', 'M', '1932-05-21', 3, '1','aguif@people.com.br', 'Taubaté'),
('Alberto Francisco', 'M', '1948-03-23', 4, '1','alberto@people.com.br', 'São Paulo'),
('Alessandra dos Santos', 'F', '1950-01-03', 0, '1','alesantos@people.com.br', 'Brasília'),
('Alex Santos', 'M', '1983-10-05', 1, '1','alexs@people.com.br', 'Taubaté'),
('Ana Carla de Freitas', 'F', '1985-12-07', 1, '1','acarla@people.com.br', 'São Paulo'),
('Ana Maria de Souza', 'F', '1992-10-09', 2, '1','amaria@people.com.br', 'São José dos Campos'),
('Bruna Luiza', 'F', '1993-09-10', 1, '1','brunal@people.com.br', 'Taubaté'),
('Carlos Alberto', 'M', '1975-08-13', 2, '0','carlosa@people.com.br', 'Cajamar'),
('Daniel de Paula', 'M', '1977-06-14', 0, '1','danielp@people.com.br', 'Taubaté'),
('Edna dos Santos', 'F', '1961-05-16', 0, '1','ednal@people.com.br', 'Taubaté'),
('Felipe Lopes', 'M', '1962-03-17', 1, '1','felipep@people.com.br', 'São Paulo'),
('Gilberto Marques', 'M', '1968-01-19', 2, '1','gilbertom@people.com.br', 'São Paulo'),
('Heloisa da Silva', 'F', '1977-11-21', 1, '1','heloisas@people.com.br', 'Brasília'),
('Isa de Lima', 'F', '1980-09-22', 1, '1','isal@people.com.br', 'São Paulo'),
('Janaina Aparecida', 'F', '1982-08-25', 1, '1','janainal@people.com.br', 'Cajamar'),
('Lilian de Souza', 'F', '1986-07-27', 2, '0','lilians@people.com.br', 'Taubaté'),
('Marcia Lima', 'F', '1988-10-27', 3, '1','marcial@people.com.br', 'São José dos Campos'),
('Tatiana Matias', 'F', '1993-07-28', 2, '1','tatianam@people.com.br', 'São José dos Campos')

INSERT clientes (nome_cli, sexo_cli, datanasc_cli, numfilhos_cli)
VALUES ('Viviane Souza Gomes', 'F', '1996-06-30', 1)



SELECT * FROM clientes



--Fazendo uma cópia da tabela
SELECT * INTO clientes_copia
FROM clientes



--Verificando a tabela cópia
SELECT * FROM clientes_copia




--Como evitar o retorno de TODOS os registros
SELECT TOP 10 * FROM clientes



--Vendo a estrutura da tabela
sp_help clientes



--Retornando colunas específicas
SELECT nome_cli, status_cli
FROM clientes


--Aula 02 - Claudura Where
USE DB2778
GO


--Retornando o nome e o status do cliente onde status_cli = 0
SELECT nome_cli, status_cli
FROM clientes
WHERE status_cli = 0



--Retornando o nome e a data de nascimento do cliente onde datanasc_cli >= '1988-01-15'
SELECT nome_cli, datanasc_cli
FROM clientes
WHERE datanasc_cli >= '1988-01-15'



--Retornando o nome e o status do cliente onde status_cli IS NULL
SELECT nome_cli, status_cli
FROM clientes
WHERE status_cli IS NULL



--Retornando o nome dos clientes da cidade de São José dos Campos
SELECT nome_cli
FROM clientes
WHERE cid_cli = 'São José dos Campos'



--Retornando o nome e a cidade dos clientes cuja cidade comece com 'São'
SELECT nome_cli, cid_cli
FROM clientes
WHERE cid_cli LIKE 'São%'



--Retornando o nome e a cidade dos clientes cuja segunda letra da cidade seja 'a'
SELECT nome_cli, cid_cli
FROM clientes
WHERE cid_cli LIKE '_a%'


--Retornando o nome e a cidade dos clientes cuja cidade tenha a palavra 'Paulo' em seu nome
SELECT nome_cli, cid_cli
FROM clientes
WHERE cid_cli LIKE '%Paulo%'



--Retornando dados dos clientes onde cid_cli = 'São José dos Campos' E numfilhos_cli = 2
SELECT nome_cli, cid_cli, numfilhos_cli
FROM clientes
WHERE cid_cli = 'São José dos Campos'
AND numfilhos_cli = 2



--Retornando dados dos clientes onde cid_cli = 'São José dos Campos' OU numfilhos_cli = 2
SELECT nome_cli, cid_cli, numfilhos_cli
FROM clientes
WHERE cid_cli = 'São José dos Campos'
OR numfilhos_cli = 2



--Retornando dados dos clientes onde datanasc_cli seja entre '1970-01-01' e '1979-12-31' (BETWEEN)
SELECT nome_cli, datanasc_cli
FROM clientes
WHERE datanasc_cli BETWEEN '1970-01-01' AND '1979-12-31'


--Ou


--Retornando dados dos clientes onde datanasc_cli seja entre '1970-01-01' e '1979-12-31' (AND)
SELECT nome_cli, datanasc_cli
FROM clientes
WHERE datanasc_cli >= '1970-01-01'
AND datanasc_cli <= '1979-12-31'




--Retornando o nome e a cidade do clientes que moram em Taubaté e Cajamar (IN)
SELECT nome_cli, cid_cli
FROM clientes
WHERE cid_cli IN ('Taubaté', 'Cajamar')

--Aula 03 -- Trabalhando com diferentes tipos de dados

USE DB2778
GO


--ISNULL status_cli
SELECT nome_cli, ISNULL(status_cli, 'N')
FROM clientes



--NULLIF
SELECT nome_cli, NULLIF(numfilhos_cli, 0)
FROM clientes



--ISNULL email_cli
SELECT nome_cli, ISNULL(email_cli, 'Sem E-mail')
FROM clientes



CREATE TABLE empregados
(
    cod_emp                INT            IDENTITY        PRIMARY KEY,
    nome_emp            CHAR(30)    NOT NULL,
    por_hora_emp        DEC(9,2)    NULL,
    por_semana_emp        DEC(9,2)    NULL,
    por_mes_emp            DEC(9,2)    NULL
)
GO


INSERT INTO empregados (nome_emp, por_hora_emp) VALUES
('Adriana de Oliveira', 29.00)
INSERT INTO empregados (nome_emp, por_mes_emp) VALUES
('Adriana Souza', 1980.00)
INSERT INTO empregados (nome_emp, por_mes_emp) VALUES
('Adriano Ferreira', 5420.00)
INSERT INTO empregados (nome_emp, por_semana_emp) VALUES
('Aguinaldo da Silva', 462.00)
INSERT INTO empregados (nome_emp, por_semana_emp) VALUES
('Alberto Francisco', 853.00)



--COALESCE
SELECT    nome_emp, por_hora_emp, por_semana_emp, por_mes_emp,
        CAST(COALESCE(por_hora_emp * 40 * 52, por_semana_emp * 52, por_mes_emp * 12) AS MONEY) AS [Salário Anual]
FROM    empregados

--Aula 04 - Ordernação


USE DB2778
GO


--Ordenando dados usando o nome do cliente (ASC)
SELECT nome_cli, status_cli
FROM clientes
ORDER BY nome_cli ASC



--Ordenando dados usando o nome do cliente (DESC)
SELECT nome_cli, status_cli
FROM clientes
ORDER BY nome_cli DESC



--Retornando o nome das cidades onde os clientes moram
SELECT DISTINCT cid_cli
FROM clientes
ORDER BY cid_cli



--Concatenando colunas
USE AdventureWorks2008
GO
SELECT (LastName + ', ' + FirstName + ' ' + ISNULL(SUBSTRING(Middlename,1,1),'')) AS Name
FROM Person.Person
ORDER BY LastName, FirstName, MiddleName

Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...