# SQL AVG(): Sintaxe e exemplos de uso

A função SQL AVG() é usada para determinar a média dos valores de uma coluna. A função pode ser estendida e utilizada em outras ações. Ela ignora valores NULL.

## O que é a função SQL AVG()?

A função SQL AVG() é utilizada em [SQL (*Structured Query Language*)](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-sql/), para calcular o **valor médio ou a média** dos valores armazenados em uma determinada coluna. Para a consulta, é usado o comando SQL SELECT. Essa função é particularmente valiosa na criação de balanços, análises, cálculos de preços e em muitos outros campos, pois valores médios podem fornecer uma visão confiável de forma rápida e simples. É importante notar que **valores NULL não são considerados** pela função e, portanto, são excluídos do cálculo.

## Sintaxe e funcionalidade de SQL AVG()

A sintaxe básica da função é muito simples e envolve poucos parâmetros. Ela é assim:

```sql
SELECT AVG(nome_da_coluna)
FROM nome_da_tabela;
```

Neste caso, você apenas inicia a saída do valor médio usando SELECT e a função AVG(). Com o comando FROM, você especifica qual tabela deve ser considerada.

Se desejar utilizar a função SQL AVG() de forma mais precisa, você pode usar a cláusula WHERE. A sintaxe é a seguinte:

```sql
SELECT AVG(nome_da_coluna)
FROM nome_da_tabela
WHERE requisito;
```

Você também pode listar vários requisitos.

## Exemplos de aplicação da função SQL AVG()

Você entenderá melhor o funcionamento da SQL AVG() se usar a função para um propósito concreto. Vamos imaginar uma tabela chamada “Lista de Clientes”. Nessa tabela, registramos os clientes, o número do cliente, a localização, a quantidade de produtos comprados e o valor total em euros para um determinado período.

<table>
  <thead>
    <tr>
      <th><strong>Número do Cliente</strong></th>
      <th><strong>Nome</strong></th>
      <th><strong>Localização</strong></th>
      <th><strong>Produtos</strong></th>
      <th><strong>Valor Total</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1427</td>
      <td>Santos</td>
      <td>Fortaleza</td>
      <td>14</td>
      <td>634</td>
    </tr>
    <tr>
      <td>1377</td>
      <td>Fonseca</td>
      <td>Piracicaba</td>
      <td>9</td>
      <td>220</td>
    </tr>
    <tr>
      <td>1212</td>
      <td>Hernandez</td>
      <td>Piracicaba</td>
      <td>15</td>
      <td>619</td>
    </tr>
    <tr>
      <td>1431</td>
      <td>Faria</td>
      <td>Patos de Minas</td>
      <td>22</td>
      <td>912</td>
    </tr>
    <tr>
      <td>1118</td>
      <td>Becker</td>
      <td>Goiânia</td>
      <td>10</td>
      <td>312</td>
    </tr>
  </tbody>
</table>

Agora, você pode usar a função para determinar quanto esses clientes pagaram em média. O comando correspondente é o seguinte:

```sql
SELECT AVG(Valor total)
FROM Lista de clientes;
```

O resultado ficaria assim:

<table>
  <thead>
    <tr>
      <th><strong>Valor total</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>539,4</td>
    </tr>
  </tbody>
</table>

Se você quiser determinar, em vez disso, quantos produtos os clientes encomendaram em média, isso funciona segundo um princípio semelhante:

```sql
SELECT AVG(Produtos)
FROM Lista de clientes;
```

O resultado é este:

<table>
  <thead>
    <tr>
      <th><strong>Produtos</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>14</td>
    </tr>
  </tbody>
</table>

## SQL AVG() em combinação com WHERE

Como já mencionado, você pode expandir a função com uma ou mais condições para obter resultados ainda mais específicos. Aqui, calculamos, por exemplo, a receita média de todos os clientes de Piracicaba:

```sql
SELECT AVG(Valor total)
FROM Lista de clientes
WHERE Localização = 'Piracicaba';
```

Isso nos dá o seguinte resultado:

<table>
  <thead>
    <tr>
      <th><strong>Valor total</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>419,5</td>
    </tr>
  </tbody>
</table>

## SQL AVG() em combinação com outros parâmetros

Você também tem a possibilidade de combinar a função com outros parâmetros. No exemplo a seguir, mostramos todos os clientes cujas despesas estão acima da média. O código correspondente é o seguinte:

```sql
SELECT Número do cliente, Nome, Localização, Produtos, Valor total
FROM Lista de clientes
WHERE Valor total > (SELECT AVG(Valor total) FROM Lista de clientes);
```

A exibição seria a seguinte:

<table>
  <thead>
    <tr>
      <th>Número do Cliente</th>
      <th>Nome</th>
      <th>Localização</th>
      <th>Produtos</th>
      <th>Valor Total</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1427</td>
      <td>Santos</td>
      <td>Fortaleza</td>
      <td>14</td>
      <td>634</td>
    </tr>
    <tr>
      <td>1212</td>
      <td>Hernandez</td>
      <td>Piracicaba</td>
      <td>15</td>
      <td>619</td>
    </tr>
    <tr>
      <td>1431</td>
      <td>Faria</td>
      <td>Patos de Minas</td>
      <td>22</td>
      <td>912</td>
    </tr>
  </tbody>
</table>

## Mais funções semelhantes à SQL AVG()

Além da função SQL AVG(), a linguagem SQL possui outras funções que permitem calcular valores específicos com facilidade. Por exemplo, se você quiser determinar a soma de todos os valores numéricos em uma coluna, a função **SUM()** é a escolha certa. Se você deseja contar quantas linhas atendem a uma determinada condição, use a função [SQL COUNT()](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-count/).

Dica A melhor solução para o seu banco de dados: com o [SQL Server Hosting](https://www.ionos.com/cloud/sql-server-hosting "SQL Server Hosting — IONOS") da IONOS, você escolhe entre bancos de dados MSSQL, MySQL e MariaDB e beneficie-se de consultorias personalizadas e de uma arquitetura de segurança robusta. SQL Server Hosting é a solução perfeita para as suas necessidades!


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-avg/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-avg/) for AI/LLM consumption.