Banco de dados - 2 º Semestre - Bimestre 2 - Aula 4

Page 1

FUNÇÕES e SUBQUERY

Professor Anderson Carvalho


FUNÇÕES


FUNÇÕES STRING TRIM(str) SELECT TRIM('

bar

'); -> 'bar'

LCASE(str), LOWER(str) SELECT LCASE('MYSQL'); -> 'mysql'

UCASE(str), UPPER(str) SELECT UCASE('Hej'); -> 'HEJ'

REPLACE(astr,da_str,para_str) SELECT REPLACE('www.mysql.com', 'w', 'Ww'); -> 'WwWwWw.mysql.com'


OUTRAS FUNÇÕES COUNT(expr) SELECT COUNT(*) FROM t1; SELECT COUNT(DISTINCT campo3) FROM t2;

AVG(expr) SELECT nome_estudante, AVG(nota_teste) FROM estudante GROUP BY nome_estudante;

SUM(expr) SELECT SUM(campo1) from t1;

CONCAT(val1, val2, val3) SELECT CONCAT(“R$”, salario) as “SALARIO TOTAL” from t1


SUBQUERIES


SUBQUERY SELECT com SELECT

SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);

• Exibe todos os dados de uma tabela se uma determinada coluna conter exatamente os mesmos registros de uma outra coluna de uma segunda tabela


SUBQUERY INSERT com SELECT

INSERT INTO

map_band_group (band_id, group_id)

(SELECT band_id, 103 FROM map_band_group WHERE group_id = 104)

• Insere em uma tabela os valores retornados de um SELECT


SUBQUERY DELETE com INSERT DELETE FROM t1 WHERE s11 > ANY (SELECT COUNT(*) /* no hint */ FROM t2 WHERE NOT EXISTS

(SELECT * FROM t3 WHERE ROW(5*t2.s1,77)= (SELECT 50,11*s1 FROM t4 UNION SELECT 50,77 FROM (SELECT * FROM t5) AS t5)));

• Exclui somente se atendidas as condições dos SELECTS


SUBQUERY UPDATE com INSERT

UPDATE people, (SELECT count(*) as votecount, person_id FROM votes GROUP BY person_id) as tally SET people.votecount = tally.votecount WHERE people.person_id = tally.person_id

• Atualiza os campos especificados somente se atendidas as condições do SELECT


PRATICANDO...


EXERCÍCIOS 1. Através do comando INSERT insira dois registros em cada tabela 2. Faça uma consulta na tabela tb_clientes que retorne todas as colunas do registro de id = 4 3. Faça a contagem de quantos departamentos distintos existem na tabela tb_cargos 4. Atualize o campo site de todos os registros da tabela tb_marca convertendo os valores do campo em caixa baixa 5. Faça uma consulta na tabela tb_funcionarios que exiba a escolaridade e a sua respectiva média de salário


EXERCÍCIOS 6. Faça uma consulta que exiba o total dos salários contidos na tabela tb_funcionarios 7. Faça uma consulta na tabela tb_funcionarios que exiba todos os campos dos funcionários que tenham salário maior que a média 8. Faça uma consulta nas tabelas tb_funcionarios e tb_cargos que apresente (todos os registros) o nome e o departamento do funcionário em questão 9. Faça uma consulta nas tabelas tb_funcionarios e tb_cargos que retorne os cargos cadastrados e a quantidade de funcionários cadastrados em cada cargo


EXERCÍCIOS 10. Faça uma consulta nas tabelas tb_marcas e tb_produtos que exiba a quantidade de produtos cadastrados para cada marca

Enviar para aulas@andersoncarvalho.pro.br • Queries dos exercícios • Resultados exportados em arquivo • Queries com erros para revisão.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.