Magna Concursos
1688348 Ano: 2017
Disciplina: TI - Banco de Dados
Banca: PROGEP-FURG
Orgão: FURG
Provas:

A sequência de queries SQL abaixo cria a estrutura base de um banco de dados PostgreSQL que será utilizada na questão.

CREATE SCHEMA clube;

CREATE TABLE clube.socio (

id SERIAL,

primeiro_nome VARCHAR(40) NOT NULL,

sobrenome VARCHAR(200) NOT NULL,

endereco VARCHAR(200) NOT NULL,

telefone VARCHAR(20) NOT NULL,

recomendado_por INTEGER,

data_cadastro TIMESTAMP WITHOUT TIME ZONE NOT NULL,

CONSTRAINT socio_data_cadastro_key UNIQUE(data_cadastro),

CONSTRAINT socio_pkey PRIMARY KEY(id)

) WITH (oids = false);

CREATE TABLE clube.instalacao (

id SERIAL,

nome VARCHAR(200) NOT NULL,

custo_por_socio NUMERIC(10,2),

custo_por_convidado NUMERIC(10,2),

custo_inicial NUMERIC(10,2),

CONSTRAINT instalacao_pkey PRIMARY KEY(id)

) WITH (oids = false);

CREATE TABLE clube.agendamento (

id SERIAL,

id_socio INTEGER NOT NULL,

id_instalacao INTEGER NOT NULL,

inicio TIMESTAMP WITHOUT TIME ZONE NOT NULL,

fim TIMESTAMP WITHOUT TIME ZONE,

CONSTRAINT agendamento_pkey PRIMARY KEY(id),

CONSTRAINT agendamento_fk FOREIGN KEY (id_socio)

REFERENCES clube.socio(id)

ON DELETE RESTRICT ON UPDATE CASCADE

NOT DEFERRABLE,

CONSTRAINT agendamento_fk1 FOREIGN KEY (id_instalacao)

REFERENCES clube.instalacao(id)

ON DELETE RESTRICT ON UPDATE CASCADE

NOT DEFERRABLE

) WITH (oids = false);

Analise a query abaixo e assinale a alternativa correta:

WITH ag_with AS (

SELECT * FROM clube.agendamento a

INNER JOIN clube.instalacao i ON i.id = a.id_instalacao

RIGHT JOIN clube.socio s ON s.id = a.id_socio

)

SELECT DISTINCT s2.*

FROM ag_with AS aw, clube.socio AS s2

WHERE

s2.id = aw.id_socio AND

s2.recomendado_por IS NOT NULL

 

Provas

Questão presente nas seguintes provas

Técnico de TI

25 Questões