Valores inválidos no SQL? CHECK a sua integridade

Promoção com viagem internacional por 5 reais? Ou ainda -5 reais? Tem campos que deveriam ser validados declarativamente, como o preço de um produto: [code language=”sql”] create table Produto (preco DECIMAL(10,2)); insert into Produto values (-5); > Inserindo 1 linha de boa [/code] 🙁 Que caca. Eu queria integridade dos meus dados. Queria que ele
Continuar lendo…

Trazendo linhas a mais?

Query bonita escrita, executada, resultado zoado. Quem nunca teve uma query respondendo um monte de coisa que não foi pedido? Gostaria de trazer os livros ativos cujos preços tem algo de estranho: são muito baratos (< 10) OU muito caros (> 1000) [code lang=sql] select * from Livros where ativo = true AND preco <
Continuar lendo…

Quando 1 não é 1 no SQL?

De repente deparo com a query sendo rodada no meu código de programação, quando tento buscar um livro pelo nome e ano de lançamento: [code language=”sql”] select * from Produtos p where 1=1 and p.nome like ‘%Java%’ and p.ano = 2015; [/code] Que porcaria é essa? 1=1? Claro que 1=1, podemos tirar esse cara daí
Continuar lendo…

Utilizando funções de agregação com GROUP BY no SQL

Nesses últimos tempos eu resolvi cadastrar todos os livros que comprei no período de 2015 a 2016 em um banco de dados. Então eu criei uma tabela livros e inseri todas as compras que realizei: [code language=”sql”] SELECT * FROM livros; +—-+——————–+———————-+——-+————-+ | id | nome | autor | valor | data_compra | +—-+——————–+———————-+——-+————-+ |
Continuar lendo…

Liberada a apostila gratuita de SQL da Alura

Sempre quis aprender sobre SQL e banco de dados mas não teve oportunidade ou simplesmente não conseguiu nenhum material que focasse com exemplos do mundo real, seus problemas e soluções do dia a dia? Pensando nisso, escrevi a apostila de SQL e modelagem com banco de dados! Você pode baixá-la aqui. Esta apostila é baseada
Continuar lendo…