SELECT name FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);Esta consulta seleciona todos os funcionários que ganham mais do que o salário médio. A subconsulta entre parênteses calcula essa média. No entanto, o uso excessivo de subconsultas pode afetar negativamente o desempenho devido ao número de operações necessárias para resolvê-las.
Junções Avançadas para Consultas Complexas
Em vez de sempre depender de subconsultas, as junções são ferramentas poderosas para integrar e comparar diferentes conjuntos de dados. Os tipos mais comuns incluem INNER JOIN, LEFT JOIN e RIGHT JOIN. Por exemplo, o código a seguir ilustra um LEFT JOIN:
SELECT customers.name, orders.date FROM customers LEFT JOIN orders ON customers.id = orders.customer_id;Aqui obtemos todos os clientes e seus respectivos pedidos. Se um cliente não tiver pedidos, ele ainda aparecerá em nosso resultado graças ao LEFT JOIN.
Uso Adequado de Funções de Agregação
Funções de agregação em SQL, como COUNT(), SUM(), AVG(), MAX() e MIN(), são essenciais ao trabalhar com múltiplos conjuntos de dados. Quando combinadas com GROUP BY, elas fornecem análises detalhadas de grandes quantidades de informações. Considere este exemplo:
SELECT department, COUNT() FROM employees GROUP BY department HAVING COUNT() > 10;Aqui estamos contando quantos funcionários existem em cada departamento e selecionando aqueles com mais de dez membros.
Gerenciamento de Transações para Consultas Confiáveis
As transações SQL garantem que um conjunto de operações seja concluído sem erros antes de ser aplicado permanentemente ao banco de dados. Isso é especialmente relevante ao executar consultas que modificam várias tabelas simultaneamente:
BEGIN TRANSACTION; UPDATE accounts SET balance = balance - 100 WHERE id = 1; ATUALIZAR contas DEFINIR saldo = saldo + 100 ONDE id = 2; CONFIRMAR;A transação só é confirmada quando ambas as operações são concluídas com sucesso, garantindo integridade e consistência.
Comparação entre Subconsultas e Junções
| Técnica | Vantagens | Desvantagens |
|---|---|---|
| Subconsulta | Simplifica a leitura Útil em casos específicos onde apenas um relacionamento é necessário | Pode ser lento Dificuldade de otimização em grandes volumes volumes |
| Junção | Eficiência e velocidade Permite trabalhar com vários conjuntos simultaneamente | Pode preencher a memória se não for bem gerenciada Maior complexidade na sintaxe inicial |
Comentários
0Seja o primeiro a comentar