Skip to content

Instantly share code, notes, and snippets.

@wellingtonpgp
Last active August 10, 2016 19:42
Show Gist options
  • Select an option

  • Save wellingtonpgp/64fcc5581518065bb8972f7f0f2e5792 to your computer and use it in GitHub Desktop.

Select an option

Save wellingtonpgp/64fcc5581518065bb8972f7f0f2e5792 to your computer and use it in GitHub Desktop.
-Calculo da media usamos a função AVG
SELECT AVG(punicao) FROM campeonato
-COUNT
A função COUNT(*) retorna o número de registros em uma tabela:
SELECT COUNT(*) FROM nome_tabela
Sintaxe do SQL COUNT (DISTINCT nome_coluna)
SELECT COUNT(DISTINCT nome_coluna) FROM nome_tabela
Nota: COUNT (DISTINCT) trabalha com Oracle e Microsoft SQL Server.
-View
Create [or replace] view <nome da view> as <Instruções sql>
[with read only];
Exemplo:
CREATE VIEW emp_dep
AS
SELECT employee_id,Last_name,salary
FROM
employees;
Exemplo 2:
CREATE VIEW emp_dep_option_Const
AS
SELECT employee_id,Last_name,salary
FROM
employees
WHERE department_id = 20
WITH CHECK OPTION CONSTRAINT emp_20;
Exemplo 3:
CREATE VIEW emp_dep_apelido(Cod_Func,Nome_Func,Salario)
AS
SELECT employee_id,Last_name,salary
FROM
employees;
Exemplo 4:
CREATE VIEW emp_e_dep
AS
SELECT employee_id,Last_name,department_name
FROM
employees E,
departments D
WHERE
D.DEPARTMENT_ID = E.EMPLOYEE_ID;
-Select com like
SELECT CODIGO, NOME FROM CLIENTES
WHERE NOME LIKE ‘MARIA%’
SELECT CODIGO, NOME FROM CLIENTES
WHERE NOME LIKE ‘%MARIA%’
-Inner join
SELECT C.NOMECARGO [CARGO], F.NOMEFUNCIONARIO AS [FUNCIONÁRIO], F.SALARIOFUNCIONARIO AS [SALÁRIO] FROM CARGO AS C
INNER JOIN FUNCIONARIO AS F
ON C.IDCARGO = F.IDCARGO
-Variável na consulta
Aquelas que vc usa o & na frente do nome para carregar. E como de praxe eu estava pensando errado sobre esse ilustre operador.
Quando usamos a seguinte query:
SELECT * FROM USER_TABLES WHERE TABLE_NAME LIKE ‘%&NOME%’
o ORACLE pedirá o valor da variável NOME
agora se fizermos:
SELECT u.*,’&NOME’ FROM USER_TABLES u WHERE u.TABLE_NAME LIKE ‘%&NOME%’
ele solicitará 2 vezes!
agora vc pergunta, pô Dartanghan e se eu tiver 234987623892346 vezes esse troço no meu código? vou ter que digitar sempre?
e a maravilhosa resposta é NÃO!
os caras da Oracle pensaram e criaram o && que significa que o valor que vc utilizar na variavel com && será usado para todas as variaveis com o mesmo nome definido por &. Confuso?
Vou tentar demonstrar.
Se fizermos a query:
SELECT u.*,’&&NOME’ FROM USER_TABLES u WHERE u.TABLE_NAME LIKE ‘%&NOME%’ AND LENGTH( u.TABLE_NAME ) > LENGTH ( ‘&NOME’ )
O Oracle vai pedir apenas uma vez o valor do &NOME e aplicará a todos os &NOME s da sua query
Agora a pegadinha!
Algumas pessoas ( eu ) achavam que o &&VARIAVEL significava &VALOR_VARIAVEL, mas na verdade:
Se &VARIAVEL = ‘OI’ , &&VARIAVEL != &OI.
Fonte: Malandramente Google
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment