Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

sobre o join

Minha dúvida é o seguinte na parte da aula sobre o join, foi exposto o comando JOIN e no exercicio INNER JOIN. qual a diferencia.

E na aula sobre o null. Eu posso colocar not null, mas isto não vai me impedir do usuário colocar ' ' espaço em branco e neste caso como impedir que o usuário faça isto?

4 respostas
solução!

INNER JOIN e JOIN tem a mesma função, porém como existem outros tipos de JOIN, usando INNER JOIN não deixa dúvidas sobre a sua intenção.

Quanto ao espaço no not null, você precisaria de uma condição, usando uma linguagem.

Quanto ao Join o amigo Hugo explicou perfeitamente bem, mas para complementar, quando você não informa o tipo do JOIN, por padrão é utilizado o INNER.

Quanto ao NULL, você poderia colocar uma restrição UNIQUE onde impede valores duplicados em um campo. Evitaria pelo menos que o segundo '' fosse informado. Mas isso não foi abordado neste treinamento. Dê uma olhadinha no google!

Abraços!

Claudio,

ainda complementando a resposta dos colegas, quanto ao JOIN é isso mesmo que eles falaram, quando você omite o tipo, o banco assume que você está fazendo um INNER. No caso do campo em branco, quando começamos a estudar desenvolvimento costumamos ouvir a seguinte expressão:

"Branco é diferente de nulo"

Ou melhor dizendo, um campo de texto com o conteúdo " " é diferente de um campo nulo pois existe um carácter que representa esse espaço em branco e no caso do nulo não existe nada.

Para tratar a inserção de campos assim, você deve fazer a validação no código do seu programa antes de gravar o dado, os bancos também fornecem alguns recursos para tratar esses casos como triggers, porém de preferência faça isso no programa mesmo, onde você pode dar uma resposta mais amigável ao usuário sem ter que recorrer a uma validação do banco.

Bons estudos.

Entendi, muito obrigado a todos

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software