Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESGRANRIO 2012

Banco de DadosSQL
Código
cg049466
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Nível
Superior
Cargo
Analista de Sistemas Júnior - Engenharia de Software
Considerando a possibilidade de que dois ou mais pares (ORIGEM,DESTINO) tenham o mesmo número de viagens, qual consulta permite exibir o par que possui o maior número de viagens (concluídas ou não) registradas no banco de dados?
  1. ASELECT L.ORIGEM,L.DESTINO FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO HAVING COUNT(*)=(SELECT MAX(COUNT(*)) FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO)
  2. BSELECT L.ORIGEM,L.DESTINO FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY V.NUM_LINHA HAVING COUNT(*)=(SELECT MAX(COUNT(NUM_LINHA)) FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO)
  3. CSELECT L.ORIGEM,L.DESTINO FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO HAVING COUNT(*)=(SELECT MAX(COUNT(DISTINCT NUM_LINHA)) FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO)
  4. DSELECT L.ORIGEM,L.DESTINO FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO ORDER BY COUNT(*) DESC
  5. ESELECT L.ORIGEM,L.DESTINO FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO AND COUNT(*)=(SELECT MAX(COUNT(*)) FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO) GROUP BY L.ORIGEM,L.DESTINO
Revelar gabarito e comentário

GabaritoA — SELECT L.ORIGEM,L.DESTINO FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO HAVING COUNT(*)=(SELECT MAX(COUNT(*)) FROM VIAGEM V,LINHA L WHERE V.NUM_LINHA=L.NUMERO GROUP BY L.ORIGEM,L.DESTINO)

Link permanente: /questoes/cg049466