Guia de Comandos e Consultas SQL Essenciais
Classificado em Matemática
Escrito em em
português com um tamanho de 4,92 KB
Perguntas Frequentes sobre Comandos SQL
-
O que faz a instrução
SELECTe como o banco de dados a executa?Instrui o programa do banco de dados a retornar informações como um conjunto de registos. Para executá-la, o programa de banco de dados:
- Procura a(s) tabela(s) especificada(s);
- Extrai as colunas escolhidas;
- Seleciona as linhas que satisfazem o critério;
- Classifica ou agrupa as linhas resultantes na ordem especificada.
É importante notar que esta instrução não altera os dados no banco.
-
Qual o objetivo da cláusula
ORDER BY?Exibe os dados em uma ordem classificada. Por padrão, a ordem de classificação é ascendente (
ASC). -
O que é uma consulta de anexação (
INSERT)?Adiciona um ou vários registos a uma tabela.
-
O que faz a declaração
UPDATE?Cria uma consulta de atualização que altera os valores dos campos numa tabela especificada, com base em critérios específicos.
-
Como testar uma instrução
UPDATE, já que ela não gera um conjunto de resultados?Podemos primeiro examinar os resultados de uma consulta
SELECTcom os mesmos critérios. Se os dados retornados forem os que se pretende alterar, então executa-se a atualização com segurança. -
Qual o objetivo do comando
DELETE? Podemos utilizá-lo para eliminar uma tabela inteira?O seu objetivo é criar uma consulta de exclusão que remove registos de uma ou mais tabelas (listadas na cláusula
FROM) que satisfaçam a condição da cláusulaWHERE. Para eliminar uma tabela inteira, utiliza-se o comandoDROP TABLE. -
É possível desfazer uma operação de exclusão (
DELETE)?Não. Para evitar erros, é recomendável primeiro executar uma consulta
SELECTcom o mesmo critério para verificar quais registos serão excluídos. Mantenha backups regulares dos seus dados, pois essa é a única forma de recuperar registos excluídos por engano. -
O que é uma subconsulta (subquery)?
É uma instrução
SELECTaninhada dentro de outra instruçãoSELECT,INSERT,DELETEouUPDATE, ou mesmo dentro de outra subconsulta.
Exemplos de Consultas SQL
-
Mostrar o nome, o cargo, o salário e a descrição do departamento de todos os funcionários.
SELECT NOME, SALARIO, DESCRICAO FROM FUNCIONARIOS INNER JOIN DEPARTAMENTOS ON DEPARTAMENTOS.COD_DEP = FUNCIONARIOS.COD_DEP; -
Contar o número de funcionários através do seu código e exibir o resultado como ‘Contagem’.
SELECT COUNT(CODIGO) AS Contagem FROM Funcionarios; -
Mostrar o nome, o cargo e a descrição do departamento de todos os funcionários que ganham menos de R$ 2.000,00.
SELECT NOME, CARGO, DESCRICAO FROM FUNCIONARIOS INNER JOIN DEPARTAMENTOS ON DEPARTAMENTOS.COD_DEP = FUNCIONARIOS.COD_DEP WHERE SALARIO < 2000; -
Mostrar a média salarial como ‘Média’, o maior salário como ‘Máximo’ e o menor como ‘Mínimo’.
SELECT AVG(SALARIO) AS Média, MAX(SALARIO) AS Máximo, MIN(SALARIO) AS Mínimo FROM FUNCIONARIOS; -
Mostrar o nome do funcionário e o seu salário com 5% de reajuste, ordenados de forma crescente pelo salário.
SELECT FUNCIONARIOS.Nome, SALARIO * 1.05 AS Reajuste FROM FUNCIONARIOS ORDER BY FUNCIONARIOS.Salario; -
Inserir na tabela de funcionários um novo registo para 'Luana'.
INSERT INTO Funcionarios (Codigo, Nome, Cargo, Salario, Cod_Dep) VALUES ('6', 'Luana', 'Estagiária', '500', '68'); -
Fazer uma consulta de atualização que dê um aumento de 20% a todos os funcionários.
UPDATE FUNCIONARIOS SET SALARIO = SALARIO * 1.2; -
Atualizar os dados da funcionária 'Luana', alterando o seu cargo para 'Presidente' e o salário para R$ 5.000,00.
UPDATE FUNCIONARIOS SET CARGO = 'Presidente', SALARIO = 5000 WHERE NOME = 'Luana'; -
Excluir o funcionário cujo cargo seja ‘Diretor’.
DELETE FROM FUNCIONARIOS WHERE CARGO = 'Diretor'; -
Dar um reajuste de 10% a todos os funcionários do departamento de ‘Estoque’.
UPDATE FUNCIONARIOS INNER JOIN DEPARTAMENTOS ON DEPARTAMENTOS.COD_DEP = FUNCIONARIOS.COD_DEP SET SALARIO = SALARIO * 1.1 WHERE DESCRICAO = 'Estoque';