EAGS L Gica De Programa O SQL E PHP Parte 4
1468 palavras
6 páginas
MySQL – Consulta com mais de umaTabela
Vamos ver agora como realizar consultas utilizando mais de uma tabela, e fazendo o relacionamento entre elas.
Faremos uma consulta idêntica ao exemplo anterior, em que utilizamos o GROUP BY para mostrar o número de ocorrências de produtos em cada código de categoria. Seria interessante se, ao invés do código da categoria, exibíssemos o nome da categoria.
Como o nome das categorias está em uma tabela separa, o comando SELECT deverá utilizar as tabelas produtos e categorias.
A sintaxe seria:
SELECT categorias.nome_categoria, COUNT(*) FROM produtos, categorias WHERE produtos.cod_categoria = categorias.cod_categoria GROUP BY nome_categoria;
MySQL – Comando JOIN
Utilizamos joins do SQL para extrairmos as informações de uma ou mais tabelas em um único conjunto de resultados baseando-se nos relacionamentos entre as colunas das tabelas envolvidas.
Até agora criamos as nossas tabelas definindo uma coluna como chave primária em cada uma delas. Não fizemos isso à toa, pois agora veremos como utilizar esse relacionamento entre colunas de tabelas diferentes em uma única consulta.
MySQL – Comando JOIN
Vamos voltar ao exemplo da rede social. Quando modelamos as tabelas separamos as informações do usuário em duas tabelas:
Usuario com as informações pertinentes à conta do usuário na rede social e Perfil com as informações pessoais do mesmo.
MySQL – Comando JOIN
Para trazer as informações das duas tabelas em um único conjunto de resultados utilizaremos a instrução JOIN.
Como faremos para ver todos os campos das tabelas usuario e perfil onde o ID do usuario é igual a 1?
SELECT * FROM `usuario`, `perfil` WHERE perfil.id = usuario.id and usuario.id = 1 select * from `usuario` as `u` join `perfil` as `p` on u.id = p.id and u.id = 1
select * from `usuario` join `perfil` on usuario.id = perfil.id and usuario.id = 1
04
MySQL – Operador IN
Esse operador é usando quando se precisam recuperar as linhas onde os valores a serem comparados estão