Ir ao conteúdo
  • Cadastre-se
jhonvi98

eu queria saber algumas coisa mysql

Recommended Posts

pessoal queria que alguem me explicasse a função da subquery sua montagem(codigo) a função exists,e o inner join, left join,right join, queria saber pra que serve estes comandos. me ajudem eu necessito de muita ajuda pois estou com dificuldade nisso na escola onde estudo que faço o tecnico

e alguem poderia criar um banco de dados mysql pra min testar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, a sub-query é utilizada em várias situações, fica difícil (pra mim) explicar sem um exemplo prático nem nada.

Basicamente entendo como sub-query, quando existe um select dentro do outro.

Exemplo:

SELECT aluno_nome
,aluno_idade
,(SELECT COUNT(*) FROM faltas where falta_id = aluno_id) as quantidade_faltas
FROM alunos where aluno_id = 1;

INNER JOIN - Serve para fazer JUNÇÃO entre tabelas, e só retorna os dados, quando a condição da junção é atendida

LEFT JOIN - Serve para fazer JUNÇÃO entre tabelas, sempre retornando os dados da tabela a esquerda, mesmo que a condição da junção não seja atendida

RIGHT JOIN - Igual o LEFT join, trocando o termo esquerda por direita (já fiz uns 2 trilhões de select, e nunca precisei disso em se tratando de obter dados para produção, cadastros, cálculos, etc...)

CREATE DATABASE dbTESTE;
USE dbTESTE;

#//Tabela de pedidos
CREATE TABLE tbPD
( PDCDPD INTEGER NOT NULL DEFAULT 0
,PDCDCL INTEGER NOT NULL DEFAULT 0
,PRIMARY KEY(PDCDPD)
);

#//Tabela de clientes
CREATE TABLE tbCL
( CLCDCL INTEGER NOT NULL DEFAULT 0
,CLNOME VARCHAR(60)
,PRIMARY KEY(CLCDCL)
);

INSERT INTO tbPD (PDCDPD,PDCDCL) VALUES (1,1),(2,1),(3,2),(4,0);
INSERT INTO tbCL (CLCDCL,CLNOME) VALUES (1,'JOANA'),(2,'MARA'),(3,'CLARA');

#//Veja que nesse exemplo o pedido 4 não foi exibido
SELECT PDCDPD
,PDCDCL
,CLNOME
FROM tbPD
INNER JOIN tbCL ON CLCDCL = PDCDCL;

#//Veja que nesse exemplo todos os pedidos foram exibidos e a coluna CLNOME ficou em branco para o pedido 4, já que não foi encontrado o código ZERO na tabela de clientes
SELECT PDCDPD
,PDCDCL
,CLNOME
FROM tbPD
LEFT JOIN tbCL ON CLCDCL = PDCDCL;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×