














Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aprenda a manipular dados em um banco de dados utilizando comandos dml (data manipulation language) como insert, update, delete e rename. Saiba como criar tabelas usando o comando create table as select, recuperar dados com o comando select, e utilizar expressões aritméticas e cláusulas where. Este material é obrigatório para a disciplina sql commands.
Tipologia: Resumos
1 / 22
Esta página não é visível na pré-visualização
Não perca as partes importantes!















Para obter um bom aproveitamento nesta unidade, vamos conferir sua estrutura:
Inserir linhas em tabelas
Unidade: Instruções de comando DML Inserindo registros nas tabelas Valores alfanuméricos e datas deverão estar entre aspas simples (‘...’)
UPDATETabela SET COLUNA = Valor WHERE Condição
Unidade: Instruções de comando DML Este comando cria uma tabela (estrutura e dados) com base em um comando SELECT. create table espelhoteste as select * from employees O comando SELECT permite a seleção e a manipulação para visualização das informações armazenadas no banco de dados. O comando SELECT permite selecionar: (Para selecionar essas tabelas, é preciso logar-se com o usuário HR no Oracle) A) Todas as colunas SELECT * FROM departments; B) Colunas específicas SELECT FIRST_NAME, EMAIL, HIRE_DATE FROM employees; C) Expressões Aritméticas SELECT FIRST_NAME, EMAIL , salary, salary12 FROM employees; D) Colunas com Apelidos(alias) SELECT FIRST_NAME, EMAIL, salary “Salário”, salary12 “SalarioAnual” FROM employees; E) Colunas concatenadas SELECT FIRST_NAME, EMAIL, ‘Salário: ‘ || salary “Salário”, salary*12 “SalarioAnual“ FROM employees;
Linhas Duplicadas A exibição default de consultas são todas as linhas, incluindo as linhas duplicadas. Para eliminar valores duplicados no resultado, incluímos o DISTINCT qualificador no comando SELECT. SELECT distinct department_id FROM employees ORDER BY department_id; A Cláusula WHERE indica condição para um SELECT, o qual pode ter os seguintes operadores: Operador Descrição = Igual <> Diferente
Maior < Menor = Maior ou igual <= Menor ou igual Alfanuméricos e Datas na cláusula WHERE devem estar entre aspas simples.
Existem quatro operadores SQL os quais opera, com todos tipos de dados: Operador Significado Between ...and ... Entre dois valores (inclusive) In (lista) Comparar uma lista de valores Like Compara um parâmetro alfanumérico Is Null É um valor nulo
Compara uma faixa de valores, inclusive o menor e o maior valor. Suponhamos que nós queiramos ver aqueles empregados cujos salários estejam entre 1000 e 2000:
Algumas vezes você precisa procurar valores que não conhece exatamente. Usando o operador LIKE, é possível selecionar linhas combinando parâmetros alfanuméricos. O caractere % é utilizado como coringa nas pesquisas. Veja exemplo abaixo: Sintaxe Descrição Like ‘%cadeia’ Localiza valores que terminem com a cadeia de caracteres. Like ‘cadeia%’ Localiza valores que comecem com a cadeia de caracteres. Like ‘%cadeia%’ Localiza valores que tenham a cadeia de caracteres em qualquer parte do campo. O Operador LIKE Para listar todos os empregados que tenham o nome que comecem com a letra S, faça: SELECT First_name, Last_name, Salary FROM Employees WHERE First_name like ‘S%’;
Verifica quais campos estão com valores nulos. Unicamente encontrar todos os empregados que não tenham gerente, você testará um valor nulo: SELECT First_name, Last_name, Salary, Manager_id FROM Employees WHERE Manager_id IS Null;
Podemos também negar todos os operadores estudados: Sintaxe Descrição NOT Between Tudo que estiver fora da faixa. NOT In Tudo que não estiver na lista. NOT Like Tudo que não contiver a linha de caracteres. IS NOT Null Tudo que não for nulo. SELECT First_name, Last_name, Salary FROM Employees WHERE Salary NOT BETWEEN 10000 AND 20000;
Unidade: Instruções de comando DML SELECT First_name, Last_name, Salary, Manager_id FROM Employees WHERE Manager_id NOT IN (101, 145, 149); SELECT First_name, Last_name, Salary FROM Employees WHERE First_name NOT Like ‘S%’; SELECT First_name, Last_name, Salary, Manager_id FROM Employees WHERE Manager_id IS NOT Null;
Unidade: Instruções de comando DML Você pode combinar AND e OR na mesma expressão lógica. Quando AND e OR aparecerem na mesma cláusula WHERE, todos os ANDs serão feitos primeiro e, posteriormente, todos os “ORs” serão feitos. SELECT First_name, Last_name, Salary, Job_ID FROM Employees WHERE Salary > 8000 and Job_id = ‘ST_CLERK’ OR Job_id = ‘ST_MAN’ Se você quiser selecionar todos os Escriturários e Gerentes que ganhem acima de 8000, deverá fazer: SELECT First_name, Last_name, Salary, Job_ID FROM Employees WHERE Salary > 8000 and (Job_id = ‘ST_CLERK’ OR Job_id= ‘ST_MAN’) Os parênteses especificam a ordem na qual os operadores devem ser avaliados (prioridade). No segundo exemplo, o operador OR é avaliado antes do AND. Sempre que você tiver dúvida sobre qual dos dois operadores será feito primeiro, quando a expressão é avaliada,use sempre parênteses para definir a prioridade das expressões.
Normalmente a ordem das linhas retornadas de uma pesquisa é indefinida. A cláusula ORDER BY pode ser usada para ordenar as linhas. Se usado, o ORDER BY deve ser sempre a última cláusula da declaração SELECT. Para ordenar essa consulta pelo campo Last_Name, faça: SELECT First_name, Last_name, Salary FROM Employees WHERE Salary BETWEEN 10000 AND 20000 ORDER BY Last_name;
O padrão da ordem de ordenação é ascendente:
Para inverter essa ordem, acrescente o comando DESC (Decrescente) depois do nome das colunas da cláusula ORDER BY. Para inverter a ordem da coluna Last_name, faça: SELECT First_name, Last_name, Salary FROM Employees WHERE Salary BETWEEN 10000 AND 20000 ORDER BY Last_name DESC;
É possível utilizar mais de uma coluna na cláusula ORDER BY. O limite de colunas é o número de colunas da tabela. Na cláusula ORDER BY, especificam- se as colunas que serão ordenadas, separando-as por vírgula. Se algumas ou todas forem invertidas, especifique DESC depois de cada uma das colunas. Para ordenar por duas colunas e mostrar ordem inversa do salário e ordem crescente do sobrenome faça: SELECT First_name, Last_name, Salary FROM Employees WHERE Salary BETWEEN 10000 AND 20000 ORDER BY Salary Desc, Last_name; Para ordenar por uma coluna, ela não precisa, necessariamente, estar declarada no SELECT. A cláusula ORDER BY é usada, na pesquisa, quando você quer mostrar as linhas em uma ordem específica. Sem a cláusula ORDER BY, as linhas são retornadas, na ordem conveniente, para o ORACLE. Esse comando não altera a ordem dos dados que estão armazenados no Banco de Dados.
COSTA, Rogério Luis de C. SQL : guia prático. 2. ed. Rio de Janeiro: Brasport, 2006. FANDERUFF, Damaris. Dominando o Oracle 9i: Modelagem e desenvolvimento. São Paulo: Pearson Education do Brasil, 2003. MORELLI, Eduardo M. Terra, 1996. Oracle 9i Fundamental: Sql, Pl/SQL e Administração. São Paulo: Érica, 2002. SILBERSCHATZ, A. Sistema de bancos de dados. São Paulo: Pearson Education do Brasil, 2004.
Unidade: Instruções de comando DML