Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

uelio

A minha dificuldade é na interpretação deste comando do MySQL!

Recommended Posts

A minha intenção não é fazer propagandA do produto

Pessoal eu Comprei um book chamado.. CRIE BANCO DE DADOS EM MySQL - Digerati

Bom ele é muito bom para iniciantes certo...

 

A minha duvida mesmo é sobre JOINS no MySQL

Tipo:

 

SELECT titleS.title_id, title, qty

FROM titleS, sales

WHERE titles.title_id = sales.title_id

 

Eu nao entendi.. esse..

 

SELECT titleS.title_id, title, qty

verbalmente falando seria:

SELECIONE da tabela "TITULOS" o "ID DO TITULO", "TITULO" e "QUANTIDADE"?

 

E ao todo quer dizer:

SELECIONE da tabela TITULOS o "ID DO ROTULO", o "TITULO" e a "QUANTIDADE"

DAS TABELAS "TITULO" e "VENDAS"

ENQUANTO o "ID DO TITULO" da tabela "TITULO" for igual ao "ID DO TITULO" da tabela "VENDAS"

 

é isso mesmo pessoal? eu estou errado?

 

Tenho duvidas tambem com o comando ON

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa,

 

Seu pensamento está quase lá. . .já que você está pensando essa junção como um loop, que quase o é.

Bom, vamos a uma explicação de JOINS e logo depois eu lhe dou um exemplo de como se usa a declaração ON e USING.

 

Suponha que você tem uma locadora de carros, que necessariamente tem um software que controla as locações e que este software utiliza o MySQL ou qualquer outro banco SGBD relacional. Bom, as tabelas que teremos no banco de dados que é controlado pelo SGBD MySQL seriam:

  • Automóvel;
  • Cliente;
  • Locação;
Bom, locação, eu chamaria de uma tabela relacionada, onde teríamos auto_id e cliente_id, com um campo de data/hora também, isso tudo basicamente para o exemplo ficar mais lúdico. Então, retomando, teríamos que fornecer, por exemplo, um relatório contendo todos os clientes e automóveis envolvidos em locações num determinado mês, ok? Teríamos uma JOIN, que "buscar todos os automóveis, cujo identificador (auto_id) está na tabela de locações (temos o conunto A)" e mais uma JOIN "buscar na tabela locação todos os clientes (cliente_id) com identificadores na tabela de locação", ou seja, seria algo assim:

 

SELECT b.cliente_nome, c.auto_nome, date_format(a.data_locacao, '%d/%m/%Y') AS DATA
FROM locacao AS a INNER JOIN cliente AS b
ON a.cliente_id =  b.cliente_id INNER JOIN automovel AS c
ON a.auto_id = c.auto_id
WHERE MONTH(a.data_locacao) = MONTH(NOW());

 

Bom, o ON se aplica aos campos PK <=> FK entre as tabelas relacionadas, podendo ser substituido, embora não recomendado por USING(campo).

 

Espero ter ajudado camarada, continue postando caso tenha alguma dúvida!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

DEUS Abençõe!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wagner eu nao entendi o que é esse b.cliente...

este b na frente do nome da coluna da tabela... o que significa?

 

deixa eu ver se entendi...

b.cliente_nome
cliente AS b

 

ai esta escrito mais ou menos assim:

cliente.cliente_nome

é isso?

 

ai esta tipo criando um objeto..

onde nome_cliente é uma propriedade do objeto, assim como cliente_id.. tipo

 

cliente.cliente_id
cliente.cliente_nome

 

tô mais ou menos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.