Subconsultas Mysql
Introdução
1. SUBCONSULTAS
INTRODUÇÃO
Subconsultas são muito úteis e importantes para qualquer administrador que seja responsável por Banco de Dados, têm por objetivo trazer informações em tela, atualizar ou até excluir dados específicos de tabelas existentes no banco de dados.
1. SUBCONSULTAS
É considerado subconsulta ou subquerie qualquer comando SELECT realizado dentro de um outro comando DML, este tipo de consulta é utilizada para manipular dados, relacionando duas ou mais tabelas.
1.1 DML
INSERT: usada para inserir um registro a uma tabela existente.
SELECT: realiza consultas a dados pertencentes a uma tabela.
UPDATE: para mudar os valores de dados em uma ou mais linhas da tabela existente.
DELETE: permite remover linhas existentes de uma tabela.
2. ESTRUTURA DE SUBCONSULTAS
Uma subconsulta deve estar sempre dentro de parênteses e a utilização de filtro (WHERE), comparação (ANY / ALL) ou expressão (IN / EXISTS) é essencial para determinar a relação da operação principal com a subconsulta na estrutura.
2.1 Exemplos de Estrutura
1. EXEMPLO # SELECT nome_emp FROM empregados WHERE cod_emp IN
# (SELECT cod_emp FROM horas WHERE year(entrada_hora)=2009);
2. EXEMPLO
# SELECT clientes.companhia, clientes.telefone FROM clientes WHERE EXISTS
# (SELECT FROM pedidos WHERE pedidos.idpedido = clientes.idcliente);
3. VERSÃO 4.1 MYSQL
Em versões anteriores a MySQL 4.1, devia-se evitar o uso de subconsultas pois não havia suporte para todas formas e operações padrões SQL, a partir da versão 4.1 os padrões foram ativados, além disso foram incluídos recursos específicos do MySQL.
3.1 JOINS e subconsultas
Existem divergências entre qual a verdadeira diferença entre JOINS e subqueries, primeiramente é necessário deixar claro qual o tipo de operação que você irá realizar e determinar o melhor método, outro fato importante é que o JOIN era utilizado nas versões anteriores do MySQL 4.1, mas pode ser