Questão FC374544
A IBM desenvolveu a versão original do SQL, originalmente chamada de Sequel, como parte do projeto System R no início dos anos 1970. A linguagem Sequel evoluiu desde então, e seu n
Linguagem SQL
Instituto Consulplan · 2022
A IBM desenvolveu a versão original do SQL, originalmente chamada de Sequel, como parte do projeto System R no início dos anos 1970. A linguagem Sequel evoluiu desde então, e seu nome mudou para SQL (Structured Query Language). Muitos produtos agora suportam a linguagem SQL. SQL se estabeleceu claramente como a linguagem de banco de dados relacional padrão.
(Silberschatz, Korth, Sudarshan, 2006.)
Considerando os conceitos de SQL Joins com duas Tabelas A e B contendo apenas “NomeLinguagens”, analise as afirmativas e assinale a imagem que representa correta e respectivamente o resultado esperado por cada tipo de Join retornado das consultas I, II, III e IV, em cor hachurado.

I. SELECT <a.NomeLinguagens, b.NomeLinguagens>
FROM TableA as A
FULL OUTER JOIN TableB as B
ON a.NomeLinguagens, b.NomeLinguagens
WHERE a.NomeLinguagens is null OR b.NomeLinguagens is null
II. SELECT <a.NomeLinguagens, b.NomeLinguagens>
FROM TableA as A
LEFT JOIN TableB as B
ON a.NomeLinguagens, b.NomeLinguagens
III. SELECT <a.NomeLinguagens, b.NomeLinguagens>
FROM TableA as A
LEFT JOIN TableB as B
ON a.NomeLinguagens = b.NomeLinguagens
WHERE b.NomeLinguagens is null
IV. SELECT <a.NomeLinguagens, b.NomeLinguagens>
FROM TableA as A
INNER JOIN TableB as B
ON a.NomeLinguagens = b.NomeLinguagens
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
A alternativa A corresponde corretamente aos resultados esperados pelas consultas I–IV, conforme a semântica dos joins e das condições WHERE.
I — A consulta usa FULL OUTER JOIN com filtro WHERE a IS NULL OR b IS NULL, que seleciona apenas os elementos sem par em A ou em B; ou seja, a região composta pelas partes exclusivas de A e de B (diferença simétrica).
II — Um LEFT JOIN entre A e B retorna todos os registros de A, com correspondentes de B quando existirem; a área hachurada é toda a região de A (incluindo a interseção A∩B).
III — LEFT JOIN ... ON a = b WHERE b IS NULL filtra os casos de A sem correspondência em B, logo a área hachurada é apenas a parte de A fora da interseção (A \ B).
IV — INNER JOIN com igualdade retorna somente correspondências mútuas, isto é, a interseção (A ∩ B).
Conteúdo do catálogo FC Concursos · Atualizado em



