Questão nº 60
Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 60)
Observe o script SQL a seguir.
CREATE TABLE TB_PROC
(ID_PROC int , NM_JUIZ VARCHAR2(50),
PR_FASE VARCHAR2(50));
INSERT INTO TB_PROC (ID_PROC, NM_JUIZ, PR_FASE)
VALUES (1, 'A', 'CONTESTACAO');
INSERT INTO TB_PROC (ID_PROC, NM_JUIZ, PR_FASE)
VALUES (2, 'A', 'INSTRUCAO');
INSERT INTO TB_PROC (ID_PROC, NM_JUIZ, PR_FASE)
VALUES (3, 'B', 'INSTRUCAO');
INSERT INTO TB_PROC (ID_PROC, NM_JUIZ, PR_FASE)
VALUES (4, 'A', 'RECURSAL');
INSERT INTO TB_PROC (ID_PROC, NM_JUIZ, PR_FASE)
VALUES (5, 'B', 'CONTESTACAO');
SELECT COUNT(*)
FROM TB_PROC
WHERE NM_JUIZ = 'B' AND PR_FASE <> 'RECURSAL';
O resultado da execução do script SQL apresentado é:
- A1
- B2 (alternativa correta)
- C3
- D4
- E5
Resposta comentada
Gabarito Alternativa B
O comando SELECT COUNT(*) serve para contar o número de linhas em uma tabela que atendem a uma condição específica, definida pela cláusula WHERE. A cláusula WHERE filtra os dados, e o operador AND exige que todas as condições sejam verdadeiras para que uma linha seja incluída na contagem.
(A) Incorreta: Esta alternativa seria verdadeira se apenas uma linha atendesse a ambos os critérios, o que não é o caso.
(B) Correta: O script filtra as linhas onde o juiz (NM_JUIZ) é 'B' E a fase do processo (PR_FASE) não é 'RECURSAL'.
As linhas que satisfazem NM_JUIZ = 'B' são:
- (3, 'B', 'INSTRUCAO')
- (5, 'B', 'CONTESTACAO')
A linha (3, 'B', 'INSTRUCAO') temPR_FASEdiferente de 'RECURSAL' (INSTRUCAO <> RECURSAL).
A linha (5, 'B', 'CONTESTACAO') temPR_FASEdiferente de 'RECURSAL' (CONTESTACAO <> RECURSAL).
Ambas as linhas atendem a ambas as condições (NM_JUIZ = 'B'EPR_FASE <> 'RECURSAL'). Portanto, oCOUNT(*)retorna 2.
(C) Incorreta: Esta alternativa seria o resultado se a condiçãoPR_FASE <> 'RECURSAL'fosse ignorada e contássemos apenas os processos do juiz 'B' (que são 3: ID 3 e 5, e se houvesse um terceiro). A armadilha aqui é desconsiderar uma das condições doAND.
(D) Incorreta: Não há quatro linhas que satisfaçam as condições especificadas.
(E) Incorreta: Esta alternativa seria o resultado se não houvesse nenhuma cláusulaWHERE, ou seja, se contasse todas as linhas da tabela.
Fonte: FGV TJ-SE Servidor 2023 Técnico Judiciário - Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.