

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Analise o banco de dados de uma determinada empresa:

Figura 1: Diagrama de Tabelas Relacionais.
A seguir são apresentados os registros das tabelas: Cliente; Vendedor; e, Pedido:
cod_cliente [PK] integer | nome_cliente character varying (30) | endereço character varying (50) | cidade character varying (20) | uf character (2) | cep integer |
20 | BETH | AV.CLIMERIO N.43 | SÃO PAULO | SP | 25679300 |
110 | JORGE | RUA CAIAPÓ 13 | CURITIBA | PR | 30078500 |
130 | EDMAR | RUA DA PRAIA S/N | SALVADOR | BA | 30079300 |
157 | PAULO | TV. MORAES C/3 | LONDRINA | PR | [null] |
180 | LIVIO | AV.BEIRA MAR N.1256 | FLORIANOPOLIS | SC | 30077500 |
222 | LUCIA | RUA ITABIRA 123 LOJ... | BELO HORIZONTE | MG | 22124391 |
234 | JOSI | QUADRA 3 BL.3 SL 1... | BRASILIA | DF | 30046500 |
260 | SUSANA | RUA LOPES MENDES... | NITERÓI | RJ | 30225900 |
290 | RENATO | RUA MEIRELLES N.12... | SÃO PAULO | SP | 30438700 |
390 | SEBASTIAO | RUA DA IGREJA N.10 | UBERABA | MG | 30438700 |
410 | RODOLFO | LARGO DA LAPA 27 S... | RIO DE JANEIRO | RJ | 30078900 |
720 | ANA | RUA 17 N.19 | NITERÓI | RJ | 24358310 |
830 | MAURICIO | AV.PAULISTA 1236 S... | SÃO PAULO | SP | 30126830 |
870 | FLAVIO | AV.PRES.VARGAS 100 | SÃO PAULO | SP | 22763931 |
Figura 2: Tabela Cliente.
cod_vendedor [Pk] integer | nome_vendedor character varying (20) | salario numeric (10,2) | faixa_comissão character (1) |
11 | JOÃO | 2780.00 | C |
101 | JOÃO | 2650.00 | C |
111 | CARLOS | 1111.00 | A |
209 | JOSÉ | 1800.00 | C |
213 | JONAS | 2300.00 | A |
240 | ANTÔNIO | 9500.00 | C |
250 | MAURICIO | 2930.00 | B |
310 | JOSIAS | 870.00 | B |
720 | FELIPE | 4600.00 | A |
Figura 3: Tabela Vendedor.
numero_pedido... [PK) integer | prazo_de_entrega integer | codigo_cliente integer | codigo_vendedor integer |
91 | 20 | 260 | 11 |
97 | 20 | 720 | 101 |
98 | 20 | 410 | 209 |
101 | 15 | 720 | 101 |
103 | 20 | 260 | 11 |
104 | 30 | 110 | 101 |
105 | 15 | 180 | 240 |
108 | 15 | 290 | 310 |
111 | 20 | 260 | 240 |
119 | 30 | 390 | 250 |
121 | 20 | 410 | 209 |
127 | 10 | 410 | 11 |
137 | 20 | 720 | 720 |
138 | 20 | 260 | 11 |
143 | 30 | 20 | 111 |
148 | 20 | 720 | 101 |
189 | 15 | 870 | 213 |
Figura 4: Tabela Pedido.
Para fazer uma consulta ao banco de dados para listar em ordem alfabética quais clientes têm pedidos com prazo de entrega igual ou superior a quinze dias e que pertencem aos estados de São Paulo (‘SP’) ou de Minas Gerais (‘MG’), o seguinte comando deverá ser utilizado:
SELECT cliente.nome_cliente, cliente.UF, pedido.prazo_de_entrega FROM cliente INNER JOIN pedido ON cliente.codigo_cliente = pedido.codigo_cliente WHERE UF IN ('SP', 'MG') AND prazo_de_entrega >= 15;
SELECT cliente.nome_cliente, cliente.UF, pedido.prazo_de_entrega FROM cliente INNER JOIN pedido ON cliente.codigo_cliente = pedido.codigo_cliente WHERE UF IN ('SP', 'MG') AND prazo_de_entrega >= 15 ORDER BY 1;
SELECT cliente.nome_cliente, cliente.UF, pedido.prazo_de_entrega FROM cliente INNER JOIN pedido ON cliente.codigo_cliente = pedido.codigo_cliente ORDER BY cliente.nome_cliente WHERE UF = ('SP') OR UF = ('MG') AND prazo_de_entrega >= 15;
SELECT COUNT(prazo_de_entrega), cliente.nome_cliente, cliente.UF FROM cliente INNER JOIN pedido ON cliente.codigo_cliente = pedido.codigo_cliente GROUP BY cliente.nome_cliente WHERE UF = ('SP') OR UF = ('MG') AND HAVING COUNT(prazo_de_entrega)>=15 ORDER BY cliente.nome_cliente;
SELECT SUM(prazo_de_entrega), cliente.nome_cliente, cliente.UF FROM cliente INNER JOIN pedido ON cliente.codigo_cliente = pedido.codigo_cliente GROUP BY cliente.nome_cliente ORDER BY cliente.nome_cliente WHERE UF = ('SP') AND UF = ('MG') AND HAVING SUM(prazo_de_entrega)>=15;