[RESOLVIDO] Ajuda em questões do MySql

olá pessoal , preciso da ajuda de vocês quanto a questões da minha prova que não consegui fazer ou ficou incompleta , aqui eu vou colocar os dados da minha tabela e cada pergunta que tive dificuldade para fazer

INSERT INTO `locacao_30090` (`vide_30090_codigo_fita`,`vide_30090_nome_filme`,`cate_30090_categoria`,`vide_30090_vlr_aluguel`) VALUES
('1','orgulho e preconceito','romance','5.50'),
('2','anjos da noite - evolucao','acao','3.50'),
('3','10 coisas que eu odeio em voce','comedia','5.00'),
('4','os viajante do tempo','comedia','4.50'),
('5','tempo de gloria','acao','5.00'),
('6','a vila','suspense','5.00'),
('7','sem destino','acao','4.00'),
('8','beleza roubada','romance','4.50'),
('9','agente 86','comedia','6.00'),
('10','horton e o mundo dos quem','infantil','4.50'),
('11','american houting','suspense','5.50'),
('12','eu, eu mesma e irene','comedia','5.00');

//quero saber aqui porque o valor do aluguel não ficou crescente?
3)Listar os filme em ordem decrescente pela categoria e crescente pelo valor da diaria;

select * from locacao_30090 ORDER by cate_30090_categoria DESC,vide_30090_vlr_aluguel ASC

//essa eu não consegui de jeito nenhum
06)Listar o valor do filme mais caro(funcao MAX) , o mais barato(funcao MIN) e o valor médio do aluguel;

//essa eu me enrolei todo e gostaria de saber o que poderia ter feito , ou se eu tava fazendo de maneira certa
09)Listar os filmes que são categoria:“Comedia”,“infantil”,“suspense” e que o nome termina com a letra “a”;

select cate_30090_categoria,
vide_30090_nome_filme
from locacao_30090
where cate_30090_categoria like ‘c%’ or cate_30090_categoria like ‘i%’ or cate_30090_categoria like 's%'
and vide_30090_nome_filme like ‘%a’

//porque que aqui o MYSQL colocou o filme “sem destino” se eu coloquei “where cate_30090_categoria like 'a%”?
10)Listar os nomes dos filmes que iniciam pela letra “a” e que o valor do aluguel seja diferente de 5,00;

select vide_30090_nome_filme,
vide_30090_vlr_aluguel
from locacao_30090
where cate_30090_categoria like 'a%'
and vide_30090_vlr_aluguel <> ‘5.00’

a 3:

Dessa forma ele vai ordenar em ordem decrescente da categoria e o valor do aluguel crescente, lembre-se que se o campo de valor de aluguel é varchar, ele será ordenado como varchar, não como número.

6:

select max(vide_30090_vlr_aluguel) as valor_mais_alto, min(vide_30090_vlr_aluguel) as valor_mais_baixo, avg(vide_30090_vlr_aluguel) as valor_medio
from locacao_30090

Acho que você não conhecia o avg né, de qualquer forma, o valor médio você também poderia ter feito usando o sum(vide_30090_vlr_aluguel)/count(vide_30090_vlr_aluguel).

9:

Para pegar a categoria, ao invés de usar like (que busca o valor aproximado, com carácter coringa), seria melhor você usar o igual.

Ou, no lugar de usar “or”, pode usar o “in”.

A parte do nome do filme está certa.

Um detalhe, o AND prevalece sobre o OR, então, você tem que encapsular os OR com parenteses. (isso responde o fato de ter retornado ‘SEM DESTINO’)

10: não entendi sua dúvida.

na 10 eu coloquei a condição like a% no nome do filme e apareceu “sem destino” que começa com “s” , teria alguma coisa errada no código?

Vc está fazendo o like pela categoria, e ‘sem destino’ está na categoria ‘acao’.

O correto seria: