uelio 0 Denunciar post Postado Outubro 27, 2007 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
Wagner Bianchi 0 Denunciar post Postado Outubro 27, 2007 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
uelio 0 Denunciar post Postado Outubro 31, 2007 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