Gabarito disponível
Considere a execução dos seguintes comandos em SQL:
CREATE TABLE VALORES (ID INT NOT NULL PRIMARY KEY, VALOR INT);
INSERT INTO VALORES VALUES (1,5);
INSERT INTO VALORES VALUES (1,6);
INSERT INTO VALORES VALUES (NULL,7);
INSERT INTO VALORES VALUES (2,1);
INSERT INTO VALORES VALUES (2,8);
INSERT INTO VALORES VALUES (3,9);
INSERT INTO VALORES VALUES (NULL,10);
SELECT COUNT(VALOR) FROM VALORES WHERE VALOR >= 5;
Essa consulta retornará o valor:
CREATE TABLE VALORES (ID INT NOT NULL PRIMARY KEY, VALOR INT);
INSERT INTO VALORES VALUES (1,5);
INSERT INTO VALORES VALUES (1,6);
INSERT INTO VALORES VALUES (NULL,7);
INSERT INTO VALORES VALUES (2,1);
INSERT INTO VALORES VALUES (2,8);
INSERT INTO VALORES VALUES (3,9);
INSERT INTO VALORES VALUES (NULL,10);
SELECT COUNT(VALOR) FROM VALORES WHERE VALOR >= 5;
Essa consulta retornará o valor:
Resolução comentada
Só três linhas são inseridas e duas têm VALOR >= 5.
ID é chave primária e NOT NULL. Os inserts (1,6), (NULL,7), (2,8) e (NULL,10) falham por duplicidade ou nulidade. Restam (1,5), (2,1) e (3,9). Com VALOR >= 5, ficam 5 e 9, então COUNT retorna 2.
Análise das alternativas
B, C, D e E) Contam linhas que não foram inseridas por violarem as restrições, ou somam valores em vez de contar.
Referência: SQL – restrições PRIMARY KEY/NOT NULL e função COUNT.
Resolução comentada do VaiConcursos.