Com relação a SQL, julgue o próximo item.Ao executar um coma...
Ao executar um comando de SELECT em mais de uma tabela sem a cláusula WHERE, o resultado será o produto cartesiano das tabelas acessadas.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos analisar a questão fornecida, que aborda um conceito fundamental em SQL. A alternativa correta é a certa (C). Vamos entender por quê.
Quando você executa um comando SELECT
em mais de uma tabela sem utilizar a cláusula WHERE
, o resultado será o produto cartesiano das tabelas acessadas.
Produto cartesiano é um termo matemático que, no contexto de bancos de dados, se refere à combinação de todas as linhas de uma tabela com todas as linhas de outra tabela. Isso significa que, se você tiver uma tabela A com 3 linhas e uma tabela B com 2 linhas, o resultado do produto cartesiano será uma tabela com 3 x 2 = 6 linhas.
Vamos ver um exemplo prático para ilustrar:
Suponha as seguintes tabelas:
ID | Nome |
---|---|
1 | Alice |
2 | Bob |
3 | Charlie |
ID | Produto |
---|---|
10 | Caneta |
20 | Livro |
Se você executar o comando SQL:
SELECT * FROM A, B;
O resultado será:
ID | Nome | ID | Produto |
---|---|---|---|
1 | Alice | 10 | Caneta |
1 | Alice | 20 | Livro |
2 | Bob | 10 | Caneta |
2 | Bob | 20 | Livro |
3 | Charlie | 10 | Caneta |
3 | Charlie | 20 | Livro |
Como podemos observar, cada linha da Tabela A foi combinada com cada linha da Tabela B, resultando em 6 linhas na tabela final.
Agora, vamos justificar a alternativa correta:
A alternativa C está correta porque descreve exatamente o que ocorre quando um SELECT
é executado em mais de uma tabela sem a cláusula WHERE
. O resultado é o produto cartesiano das tabelas.
As alternativas incorretas (se houvesse alguma, por exemplo, afirmando que o resultado seria a interseção dos dados ou qualquer outra operação diferente do produto cartesiano) estariam erradas porque não descrevem corretamente a operação executada pelo comando SQL mencionado.
Espero que esta explicação tenha ajudado a clarificar o conceito de produto cartesiano em SQL. É importante lembrar que, na prática, quase sempre utilizamos a cláusula WHERE
ou JOIN
para filtrar os resultados e evitar a criação de grandes tabelas com combinações indesejadas de dados.
Se precisar de mais alguma explicação ou tiver outras dúvidas, estarei aqui para ajudar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Quando você executa um comando SELECT em mais de uma tabela sem utilizar a cláusula WHERE ou sem definir critérios de junção (como INNER JOIN, LEFT JOIN, etc.), o resultado será o produto cartesiano das tabelas envolvidas.
O produto cartesiano é uma operação em conjuntos que retorna todas as combinações possíveis entre os elementos dos conjuntos envolvidos. Em termos de SQL, isso significa que cada linha da primeira tabela será combinada com cada linha da segunda tabela, resultando em um conjunto de resultados que contém todas as combinações.
Gabarito Certo
Fonte: ChatGPT
Discordo do gabarito...
Ao realizar join com a cláusula on, mesmo que sem a cláusula Where, não será realizado o produto cartesiano
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo