Last active
August 10, 2016 19:42
-
-
Save wellingtonpgp/64fcc5581518065bb8972f7f0f2e5792 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -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