Banco de dadosSql
- (FUNCAB 2013)
O esquema relacional a seguir servirá de contexto para a questão. Ele descreve um banco de dados usado por uma empresa aérea com o objetivo de controlar a oferta e a venda de passagens para seus clientes.
CREATE TABLE VOO (
NUMERO CHAR(5) NOT NULL,
DATA NUMBER(8) NOT NULL,
NUM_ASSEN NUMBER(5) NOT NULL,
CONSTRAINT VOO_PK PRIMARY KEY
(NUMERO))
CREATE TABLE PASSAGEM (
COD NUMBER(5) NOT NULL,
NUM_VOO CHAR(5) NOT NULL,
COD_CLI NUMBER(7) NOT NULL,
VALOR NUMBER(11,2) NOT NULL,
CONSTRAINT PASSAGEM_PK PRIMARY
KEY (COD),
CONSTRAINT PASSAGEM_FK FOREIGN
KEY (NUM_VOO) REFERENCES
VOO (NUMERO))
Observações:
• A coluna NUM_ASSEN, localizada na tabela VOO, representa o número máximo de passageiros que podem ser transportados em um voo.
• A coluna DATA, localizada na tabela VOO,
representa a data na qual um voo irá partir. O formato
dessa data éAAAAMMDD.
Qual consulta SQL irá exibir, em ordem crescente de data de partida, os códigos dos voos que ainda têm lugares disponíveis?
A) SELECT V.NUMERO
FROM VOO V
WHERE V.NUM_ASSEN > (SELECT
SUM(*)
FROM PASSAGEM P
WHERE P.NUM_VOO=V.NUMERO)
ORDER BY V.DATA
B) SELECT V.NUMERO, V.DATA
FROM VOO V, PASSAGEM P
WHERE V.NUM_ASSEN > (SELECT
COUNT(*)
FROM PASSAGEM P
WHERE P.NUM_VOO=V.NUMERO)AND
P.NUM_VOO=V.NUMERO
GROUP BY V.NUMERO,V.DATA
ORDER BY V.DATA
C) SELECT V.NUMERO
FROM VOO V
WHERE V.NUM_ASSEN > (SELECT
COUNT(*)
FROM PASSAGEM P
WHERE P.NUM_VOO=V.NUMERO)
ORDER BY V.DATA
D) SELECT V.NUMERO
FROM VOO V,PASSAGEM P
WHERE V.NUMERO=P.NUM_VOO
GROUP BY V.NUMERO
HAVING V.NUM_ASSEN > (SELECT
COUNT(*)
FROM PASSAGEM P
WHERE P.NUM_VOO=V.NUMERO)
ORDER BY V.DATA
E) SELECT V.NUMERO
FROM VOO V
WHERE NOT EXISTS (SELECT COUNT(*)
FROM PASSAGEM P
WHERE P.NUM_VOO=V.NUMERO)
ORDER BY V.DATA
Próximo:
EXERCÍCIOS - Exercício 404
Vamos para o Anterior: Exercício 402
Tente Este: Exercício 68
Primeiro: Exercício 1
VOLTAR ao índice: Banco de dados