Exercicios silberchatz

939 palavras 4 páginas
4.1 Considere o banco de dados da empresa de seguros mostrada na figura 4.9, em que as chaves primarias estão sublinhadas. Construa as seguintes consultas em SQL para este banco de dados relacional.

(a) Encontre o número total de pessoas cujos automóveis estiveram envolvidos em acidentes em 1989.
R: SELECT count(DISTINCT motorista) FROM acidente WHERE data like '1989-%-%'

(b) Encontre o número de acidentes em que os automoveis de “John Smith” estiveram envolvidos.
R: SELECT count (acidente.data) FROM acidente,pessoa WHERE acidente.motorista = pessoa.ss# AND pessoa.nome = "John Smith"

(c) adicione um novo cliente ao banco de dados.
R: INSERT INTO pessoa (nome, endereco) VALUES ("Fulano de Tal", "Rua 123")

(d) Remova o Mazda
…exibir mais conteúdo…

R: SELECT empregado.* FROM empregado,trabalha WHERE trabalha.nome_companhia = "First Bank Corporation" AND trabalha.nome_empregado = empregado.nome_empregado AND trabalha.salário > 10000

(d) Encontre o nome de todos os empregados, no banco de dados que moram e trabalham na mesma cidade.
R: SELECT empregado.nome_empregado FROM empregado,trabalha,companhia WHERE trabalha.nome_empregado = empregado.nome_empregado AND trabalha.nome_companhia = companhia.nome_companhia AND companhia.cidade = empregado.cidade

(e) Encontre o nome de todos os empregados que moram na mesma cidade e na rua de seu gerente.
R: SELECT empregado.* FROM empregado JOIN gerente ON empregado.nome_empregado = gerente.nome_empregado JOIN empregado as ger ON gerente.nome_gerente = ger.nome_empregado WHERE ger.rua = empregado.rua AND ger.cidade = empregado.cidade

(f) Encontre o nome de todos os empregados no banco de dados, que não trabalham para First Bank Corporation.
R: SELECT trabalha.nome_empregado FROM trabalha WHERE nome_companhia != "First Bank Corporation"

(g) ) Encontre o nome de todos os empregados no banco de dados que ganham mais que qualquer empregado do Small Bank Corporation.
R: SELECT trabalha.nome_empregado FROM trabalha WHERE salario > ANY (SELECT trabalha.salario FROM trabalha WHERE trabalha.nome_companhia = "Small Bank Corporation")

(h) Suponha que as companhias possam

Relacionados

  • Exerc Cios
    996 palavras | 5 páginas