# O que é SQL AND?

SQL `AND` é um operador usado para criar uma consulta (*query*) com parâmetros diferentes. AND em SQL faz com que entradas só sejam levadas em consideração se todas as condições definidas forem atendidas.

## O que é e por que usar SQL `AND`?

O operador SQL `AND` é usado em [SQL (*Structured Query Language*)](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-sql/) para incluir ou excluir determinados resultados nas consultas de informações. Essa é uma ferramenta importante para realizar buscas baseadas em critérios específicos. O operador também pode ser combinado com [SQL OR](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-or/) ao executar uma query SQL `WHERE`. Ambos funcionam seguindo a álgebra booleana, em que uma resposta só pode conter dois valores lógicos: verdadeiro (*true*) ou falso (*false*). Dentro desse framework, o operador `OR` possibilita que mais resultados sejam incluídos, enquanto SQL `AND` é mais restritivo.

## Sintaxe de SQL `AND`

SQL `AND` é usado com `WHERE` em uma query `SELECT`. Sua sintaxe é a seguinte:

```sql
SELECT coluna1, coluna2, …
FROM nome_da_tabela
WHERE condicao1 AND condicao2 AND condicao3 AND …;
```

Usando o comando SQL `SELECT`, escolha as colunas que devem ser consideradas na sua query. Você pode especificar uma única coluna ou várias delas. A cláusula `FROM` especifica a tabela em que os dados serão consultados. Após `WHERE`, você pode listar todas as condições que uma entrada deve atender para que seja incluída nos resultados. O operador SQL `AND` só retorna ao usuário as entradas que **atenderem a todas as condições** estipuladas. Já o operador `OR` retorna as entradas que cumprirem com pelo menos uma das condições.

## Exemplos de aplicação de SQL `AND`

É mais fácil entender como SQL `AND` funciona por meio de um exemplo. Imagine que uma empresa tenha filiais em vários países. Vamos criar uma tabela composta por um número de ID para cada filial, pela cidade e pelo país em que cada uma delas está localizada, assim como pelo respectivo número de funcionários. Nomearemos a tabela como “Filiais”.

<table>
  <thead>
    <tr>
      <th><strong>ID</strong></th>
      <th><strong>Cidade</strong></th>
      <th><strong>País</strong></th>
      <th><strong>Equipe</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Londres</td>
      <td>Inglaterra</td>
      <td>26</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Manchester</td>
      <td>Inglaterra</td>
      <td>15</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Frankfurt</td>
      <td>Alemanha</td>
      <td>21</td>
    </tr>
    <tr>
      <td>4</td>
      <td>Buenos Aires</td>
      <td>Argentina</td>
      <td>21</td>
    </tr>
    <tr>
      <td>5</td>
      <td>Tóquio</td>
      <td>Japão</td>
      <td>17</td>
    </tr>
  </tbody>
</table>

Agora, vamos iniciar uma query usando o operador SQL `AND`, o que permitirá excluir algumas entradas dos nossos resultados de busca. No exemplo abaixo, queremos encontrar as filiais localizadas na Inglaterra que possuem mais de 20 funcionários. A query SQL ficaria assim:

```sql
SELECT ID, Cidade, País, Equipe
FROM Filiais
WHERE País = 'Inglaterra' AND Equipe > 20;
```

O resultado seria este:

<table>
  <thead>
    <tr>
      <th>ID</th>
      <th>Cidade</th>
      <th>País</th>
      <th>Equipe</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Londres</td>
      <td>Inglaterra</td>
      <td>26</td>
    </tr>
  </tbody>
</table>

Apesar de também estar localizada na Inglaterra, a filial de Manchester foi excluída dos nossos resultados, pois sua equipe é formada por menos de 20 pessoas. As filiais de Frankfurt e Buenos Aires não foram incluídas na lista, já que não ficam situadas na Inglaterra. Como a filial de Tóquio não cumpre com nenhum dos dois critérios, ela também foi excluída.

## Combinar operadores SQL `AND` e `OR`

Também é possível combinar SQL `AND` com o operador `OR` na mesma query. Para mostrar como isso funciona, usaremos a mesma tabela do exemplo acima. Dessa vez, faremos uma busca nas entradas da tabela “Filiais” para encontrar unidades com mais de 20 funcionários e que estejam localizadas na Inglaterra ou na Argentina. Para fazer isso, precisaremos usar parênteses. Veja como escrever o código desta query:

```sql
SELECT ID, Cidade, País, Equipe
FROM Filiais
WHERE (País = 'Inglaterra' OR País = 'Argentina') AND Equipe > 20;
```

Este será o resultado:

<table>
  <thead>
    <tr>
      <th>ID</th>
      <th>Cidade</th>
      <th>País</th>
      <th>Equipe</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Londres</td>
      <td>Inglaterra</td>
      <td>26</td>
    </tr>
    <tr>
      <td>4</td>
      <td>Buenos Aires</td>
      <td>Argentina</td>
      <td>21</td>
    </tr>
  </tbody>
</table>

## Alternativas ao SQL `AND`

Conforme visto, o operador SQL `AND` não é o único que pode ser usado para filtrar dados. Mas além do operador `OR`, ainda existe outra opção para realizar buscas em um conjunto de dados seguindo critérios específicos. Com o operador `NOT`, você define condições para filtrar entradas com base nos critérios com os quais elas ***não*** cumprem. Por exemplo, esse operador pode ser usado para exibir todas as filiais que não ficam situadas na Inglaterra.

Dica Independentemente se você prefere usar MSSQL, MySQL ou MariaDB, o [SQL Server Hosting](https://www.ionos.com/cloud/sql-server-hosting "SQL Server Hosting da IONOS") da IONOS garante que seus dados permaneçam seguros e acessíveis. Escolha o plano que mais combina com as suas necessidades.


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