Você está na página 1de 2

Mostrar todos os produtos

SELECT *
FROM PRODUTOS
WHERE PRODUTO_PRECO > 2
Inserindo dados em parte dos
campos

Considere o cdigo abaixo:


DELETE PRODUTOS
WHERE PRODUTO_SITUACAO='A
OR PRODUTO_DESCRICAO NOT
LIKE %E%
DELETE PRODUTOS
WHERE PRODUTO_SITUACAO='A
AND PRODUTO_PRECO > 3
Sintaxe:
DELETE [nome_da_tabela]
WHERE [expresso_lgica
ID = TABMODELO.MARCA_ID
Considere o cdigo:
SELECT ING_ID, ING_DESCRICAO
FROM INGREDIENTE
UNION ALL
SELECT PRO_ID, PRO_DESCRICAO
FROM PRODUTO
Considere o cdigo abaixo:
SELECT ING_ID, ING_DESCRICAO
FROM INGREDIENTE
EXCEPT
SELECT PRO_ID, PRO_DESCRICAO
FROM PRODUTO
COUNT
Se desejarmos saber quantos
registros temos na
tabela cliente:
SELECT COUNT(*) FROM CLIENTE
COUNT
Se desejarmos saber quantos
clientes so homens e
quantos so mulheres:
SELECT SEXO, COUNT(*)
FROM CLIENTE
GROUP BY SEXO
sUM
Assim, se quisermos saber a
somatria total dos
produtos existentes na tabela
PRODUTO:
SELECT SUM(PRECO)
FROM PRODUTO
Se desejarmos saber a somatria
dos preos,
separados pelo grupo, devemos
usar a clusula
GROUP BY.
SELECT GRUPO_PROD,
SUM(PRECO)
FROM PRODUTO

especificando
campos e seus respectivos valores.
INSERT INTO Produtos
(pro_id, pro_Descricao, pro_Preco)
VALUES
(1,'Arroz',5.14)
UPDATE PRODUTOS
SET PRODUTO_SALDO = 10,
Considere o Cdigo:
SELECT *
FROM TABMARCA
INNER JOIN TABMODELO ON
TABMARCA.MARCA_ID =
TABMODELO.MARCA_ID
SELECT *
FROM TABMARCA
LEFT OUTER JOIN TABMODELO ON
TABMARCA.MARCA_ID =
TABMODELO.MARCA_ID

GROUP BY GRUPO_PROD
Funes de agr
AVG
Extrai a mdia aritmtica de um
determinado grupo
de linhas. Para saber o preo mdio
dos Produtos,
execute o seguinte comando:
SELECT AVG(PRECO) FROM
PRODUTO
AVG
Para saber a mdia aritmtica dos
preos dos
produtos, dividido por grupo,
devemos usar a
clusula GROUP BY.
SELECT GRUPO_PROD, AVG(PRECO)
FROM PRODUTO
GROUP BY GRUPO_PROD;
MIN
Retorna o menor valor de uma
coluna em um grupo
de linhas. Podemos utiliz-la para
colunas do tipo
data ou alfanumricas. Para saber o
preo de venda
mais barato da loja, execute o
seguinte comando:
SELECT MIN(PRECO) FROM
PRODUTO

PRODUTO_PRECO =
PRODUTO_PRECO * 1.1
WHERE PRODUTO_SITUACAO='I'
Alterar a situao de todos os
produtos para A
UPDATE PRODUTOS
SET produto_situacao='A

Considere o cdigo:
SELECT *
FROM TABMARCA
RIGHT OUTER JOIN TABMODELO
ON
TABMARCA.MARCA_ID =
TABMODELO.MARCA_IDConsidere o
cdigo:
SELECT *
FROM TABMARCA
FULL OUTER JOIN TABMODELO ON
TABMARCA.MARCA_
para colunas do tipo data ou
alfanumricas. Para
saber qual o produto mais caro da
loja, execute o
seguinte comando:
SELECT MAX(PRECO) FROM
PRODUTO;
MAX
Retornar o maior preo dos
produtos, separados por
grupo, nesse caso devemos usar a
clusula GROUP
BY:
SELECT GRUPO_PROD,
MAX(PRECO)
FROM PRODUTO
GROUP BY GRUPO_PROD;
Funo que retorna a data e hora
corrente do SQL
Server, ou seja, se for instalado
local retornar a data e
hora local, caso for um banco
instalado no servidor ele
retornar a data e hora no servidor.
Exemplo:
SELECT GETDATE() as
CurrentDateTime

Retornar o menor preo dos


produtos, dividido por
grupo.
SELECT GRUPO_PROD,
MIN(PRECO)
FROM PRODUTO
GROUP BY GRUPO_PROD;

DATEDIFF: Funo que retorna um


valor considerado
um perodo. Para isso necessrio
informar o
intervalo desejado.
Sintaxe: DateDiff(intervalor,
DataInicial, DataFinal)
Exemplo:
Select DateDif (YEAR,
01/01/2000, DTNASCIMENTO) From
Cliente

MAX
Retorna o maior valor de uma
coluna em um grupo
de linhas. Igualmente ao MIN, podese utiliz-la

DATEPART: Retorna um valor


particionado da data.
Sintaxe: DATEPART (intervalo,
Valor,expressao)
Exemplo:

Select DATEPART(YEAR,
DTNASCIMENTO)
From Cliente
Sintaxe (Retornando uma tabela)
CREATE FUNCTION <<NOME
FUNO>> (<<PARAMETROS>> )
RETURNS <<NomeTabela>> Table (
<<campo>> <<tipo>>)
AS
BEGIN
<< CODIGO IMPLEMENTADO>>
RETURN
END
Sintaxe (Retornando um nico
valor)
CREATE FUNCTION <<NOME
FUNO>> (<<PARAMETROS>> )
RETURNS <<TIPO RETORNO>>
AS
BEGIN
DECLARE <<VARIAVEL DE
RETORNO>> <<TIPO>>
<< CODIGO IMPLEMENTADO>>
RETURN <<VARIAVEL DE
RETORNO>>
END
Exemplo:
Converter a data e hora atual
(getdate()) usando a tabela de
estilos:
SELECT CONVERT( VARCHAR,
GETDATE(),111) as '111'
SELECT CONVERT( VARCHAR,
GETDATE(),113) as '113'
YEAR: Retorna o valor numrico
correspondente ao ano.
Exemplo: Select Year(dtnascimento)
from cliente
MONTH: Retorna o valor numrico
correspondente ao
ms.
Exemplo: Select
Month(dtnascimento) from cliente
DAY: Retorna o valor numrico
correspondente ao dia.
Exemplo: Select Day(dtnascimento)
from cliente
Na criao da Tabela
CREATE TABLE CLIENTE
(
CLI_ID INT NOT NULL,
CLI_NOME VARCHAR(50)
CONSTRAINT PK_CLIENTE PRIMARY
KEY(CLI_ID)
)
O cdigo ir definir o campo CLI_ID

como chave
primria da tabela, o nome desse
objeto ser
PK_CLIENT
Na alterao da Tabela:
ALTER TABLE CLIENTE
ADD CONSTRAINT PK_CLIENTE
PRIMARY KEY(CLI_ID)
O cdigo ir definir o campo CLI_ID
como chave primria.
Como no foi definido um nome
para constraint, o banco de
dados ir definir o nome da
constraint.
Para apagar a constraint:
ALTER TABLE CLIENTE
DROP CONSTRAINT PK_CLIENTE
Variveis:
As variveis so locais na memria
que podem
armazenar dados temporariamente.
As variveis podem ser utilizadas
diretamente
como comando,ou dentro de
alguma estrutura
de lote: exemplo: Procedures,
triggers.
Dever ter como prefixo o caracter
@
Para declarao de variveis poder
ser utilizado o comando
DECLARE.
Exemplo:
DECLARE @N1 AS INTEGER
DECLARE @N2 AS INTEGER
Ou
Declare @nascimento date, @nome
varchar(10),
@fone varchar(9)
Para definir um valor a uma varivel
poder ser utilizado o
comando SET.
Exemplo:
SET @nascimento = getDate()
SET @nome = "TIBURCIO OLIVEIRA"
SET @fone = "9998-2354"
Cursores so estruturas
relativamente lentas se
comparadas ao
desempenho de consultas do
banco. O uso descuidado dessa
ferramenta pode causar srios
problemas de performance.
Sintaxe:
CREATE PROCEDURE

nome_do_stored_procedure
[{@parametro tipo_de_dados}
[=valor_default] ]
[,...n]
AS
comando1,

Uma trigger um recurso vinculado


a uma tabela
que possibilita a execuo de um
determinado
cdigo caso ocorra algum evento
determinado.
O evento pode ser uma insero,
atualizao ou
deleo
Considere a tabela de Produtos:
CREATE TABLE PRODUTO (
CODIGO INT,
DESCRICAO VARCHAR(50),
SALDO INT)
O cdigo abaixo ir criar o trigger
para a tabela de produtos.
CREATE TRIGGER TG_PRODUTO ON
PRODUTO
FOR INSERT
AS
BEGIN
IF (SELECT COUNT(*) FROM
INSERTED)= 1
PRINT 'O REGISTRO FOI CRIADO
COM
SUCESSO'
END
Triggers Gerando histrico em
outra tabela
CREATE TRIGGER
TG_PRODUTO_HISTORICO ON
PRODUTO
FOR INSERT
AS
BEGIN
DECLARE @PRODUTO VARCHAR(50)
SET @PRODUTO = (SELECT
DESCRICAO FROM inserted)
INSERT INTO HISTORICO
(HIS_DESCRICAO)
VALUES
('O PRODUTO INSERIDO FOI' +
@PRODUTO)
END

Você também pode gostar