Última atualização em 26 de fevereiro de 2020 08:07:42 (UTC / GMT +8 horas)
Função COUNT ()
A função SQL COUNT () retorna o número de linhas em uma tabela que satisfaz os critérios especificado na cláusula WHERE. Ele define o número de linhas ou valores de coluna não NULL.
COUNT () retorna 0 se não houver linhas correspondentes.
Sintaxe:
COUNT(*)COUNT( expression )
A sintaxe acima é a sintaxe geral padrão ANSI do SQL 2003. Isso ajuda a entender a forma como a função SQL COUNT () é usada. Mas fornecedores de banco de dados diferentes podem ter maneiras diferentes de aplicar a função COUNT ().
A seguir, você pode ver que o MySQL, PostgreSQL e o Microsoft SQL Server seguem a mesma sintaxe fornecida acima. Mas o DB2 e o Oracle são um pouco diferentes.
No geral, você pode usar * ou ALL ou DISTINCT ou alguma expressão junto com COUNT para COUNT o número de linhas w.r.t. alguma condição ou todas as linhas, dependendo dos argumentos que você está usando junto com a função COUNT ().
Suporte DBMS: função COUNT ()
DBMS | Comando |
MySQL | Compatível |
PostgreSQL | Compatível |
SQL Server | Compatível |
Oracle | Compatível |
Sintaxe do DB2 e Oracle:
COUNT ({*| expression}) OVER (window_clause)
Parâmetros:
Nome | Descrição |
---|---|
ALL | Aplica-se a todos os valores. ALL retorna o número de valores não nulos. |
DISTINCT | Valores duplicados ignorados e COUNT retorna o número de valores não nulos exclusivos. |
expressão | Expressão composta de uma única constante, variável, função escalar ou nome de coluna e também pode ser as partes de uma consulta SQL que compara valores com outros valores. Expressão de qualquer tipo, exceto texto ou imagem. Funções agregadas e subconsultas não são permitidas. |
* | COUNTs todas as linhas na tabela de destino, incluindo ou não NULLs. |
Diagrama de sintaxe – função COUNT ()
Nas páginas subsequentes, discutimos como aplicar COUNT () com várias cláusulas SQL. Para esses aplicativos, usamos o Oracle 10g Express Edition.
Uma coisa importante sobre a função COUNT ():
Quando o * é usado para COUNT (), todos os registros (linhas) são COUNTed se algum conteúdo for NULL, mas COUNT (column_name) não COUNT um registro se seu campo for NULL. Veja os exemplos a seguir:
SQL COUNT linhas em uma tabela
No exemplo a seguir, um asterisco (*) é usado seguido por SQL COUNT () que indica todas as linhas da tabela, mesmo se houver qualquer valor NULL.
Tabela de exemplo: pedidos
Para obter o número de linhas na tabela “pedidos” , a seguinte instrução SQL pode ser usada:
Código SQL:
Resultado:
COUNT(*)--------- 34
Apresentação pictórica:
Selecione COUNT (*) de várias tabelas
A seguinte consulta COUNT o número de linhas de duas tabelas diferentes (aqui usamos funcionários e departamentos) usando o comando COUNT (*).
Código SQL:
Saída:
TOTAL_EMPLOYEES NO_OF_DEPARTMENTS--------------- ----------------- 107 27
SQL COUNT () com nome de coluna
Neste exemplo, a função SQL COUNT () exclui os valores NULL para uma coluna específica se especificada a coluna como um argumento entre parênteses de COUNT func ção.
Tabela de amostra: listofitem
Para obter o número de linhas na tabela “listofitem” com a seguinte condição –
1. COUNT número de linhas para a coluna “coname”
a seguinte instrução SQL pode ser usada:
Código SQL:
Resultado:
COUNT(CONAME)------------- 2
Explique:
A instrução acima COUNT essas linhas para a coluna “coname” que não são NULL .
SQL COUNT linhas com cabeçalho de coluna definido pelo usuário
Para obter o número de linhas na tabela “pedidos” com a seguinte condição –
1. o resultado deve ser exibido com um título “Número de linhas”,
a seguinte instrução SQL pode ser usada:
Código SQL:
Saída:
Number of Rows-------------- 36
SQL COUNT () com cláusula where
A cláusula WHERE pode ser usada junto com Função SQL COUNT () para selecionar registros específicos de uma tabela em relação a uma determinada condição.
Exemplo:
Tabela de amostra: pedidos
Para obter o número de linhas na tabela “pedidos” com a seguinte condição –
1.ord_amount em relação ao pedido é superior a 1500,
a seguinte instrução SQL pode ser usada:
Resultado:
Number of Rows-------------- 22
Aplicação da função COUNT ()
Nas páginas subsequentes, discutimos como aplicar COUNT () com várias cláusulas SQL. Para esses aplicativos, usamos o Oracle 10g Express Edition.
A página COUNT com DISTINCT discute como aplicar a função COUNT com DISTINCT e também discute como aplicar a função COUNT com a cláusula ALL. Ao contrário do uso de *, quando ALL é usado, os valores NULL não são selecionados.
A página COUNT HAVING discute como aplicar a função COUNT com a cláusula HAVING e HAVING e GROUP BY.
COUNT com GROUP A página BY discute como aplicar a função COUNT com GRUPO BY em ordem crescente e em ordem decrescente.
Nota: As saídas da referida instrução SQL mostrada aqui são obtidas usando o Oracle Database 10g Express Edition
Aqui está uma apresentação de slides de todas as funções de agregação.
Exercícios de SQL prática
- Exercícios de SQL, prática, solução
- SQL Recuperar dados de tabelas
- SQL Booleanos e operadores relacionais
- SQL Wildcard e operadores especiais
- SQL Aggregate Functions
- SQL Formatting query output
- SQL Quering em várias tabelas
- FILTRAGEM e CLASSIFICAÇÃO no banco de dados de RH
- SQL JOINS
- SQL JOINS
- SQL JOINS em Banco de dados de RH
- SUBQUERIES SQL
- SUBQUERIES SQL
- SQL SU BQUERIES no banco de dados de RH
- SQL Union
- SQL View
- SQL User Account Management
- Movie Database
- Consultas BÁSICAS no banco de dados de filmes
- SUBQUERIES no banco de dados de filmes
- JOINS no banco de dados de filmes
- Banco de dados de futebol
- Introdução
- Consultas BÁSICAS no banco de dados de futebol
- SUBQUERIES no banco de dados de futebol
- Consultas de JOINS no banco de dados de futebol
- Banco de dados de hospitais
- Introdução
- BÁSICO, SUBQUERIES e JOINS
- Banco de dados de funcionários
- Consultas BÁSICAS no banco de dados de funcionários
- SUBQUERIES no banco de dados de funcionários
- Mais por vir!