freeCodeCamp/guide/portuguese/sql/sql-syntax/index.md

108 lines
4.3 KiB
Markdown

---
title: SQL Syntax
localeTitle: Sintaxe SQL
---
## Sintaxe SQL
### Introdução
Este guia fornece uma descrição básica e de alto nível da sintaxe para instruções SQL.
O SQL é um padrão internacional (ISO), mas você encontrará muitas diferenças entre as implementações. Este guia usa o MySQL como um exemplo. Se você usar um dos muitos outros gerenciadores de banco de dados relacional (DBMS), será necessário verificar o manual para esse DBMS, se necessário.
### O que vamos cobrir
* Use (define qual banco de dados a instrução usará)
* Selecionar e cláusulas
* Onde Cláusula (e / ou, IN, Entre, LIKE)
* Ordenar por (ASC, DESC)
* Agrupar por e tendo
### Como usar isso
Isso é usado para selecionar o banco de dados que contém as tabelas para suas instruções SQL:
```sql
use fcc_sql_guides_database; -- select the guide sample database
```
### Selecionar e cláusulas
A parte Select é normalmente usada para determinar quais colunas dos dados você deseja mostrar nos resultados. Há também opções que você pode usar para mostrar dados que não são uma coluna da tabela.
Este exemplo mostra duas colunas selecionadas da tabela "student" e duas colunas calculadas. A primeira das colunas calculadas é um número sem sentido e a outra é a data do sistema.
```sql
select studentID, FullName, 3+2 as five, now() as currentDate
from student;
```
![image-1](https://github.com/SteveChevalier/guide-images/blob/master/syntax01.JPG)
### Onde Cláusula (e / ou, IN, Entre e LIKE)
A cláusula WHERE é usada para limitar o número de linhas retornadas.
Neste caso, todos os cinco destes serão utilizados é uma cláusula Where ridiculous.
Compare esse resultado com a instrução SQL acima para seguir essa lógica.
Serão apresentadas linhas que:
* Ter IDs de alunos entre 1 e 5 (inclusive)
* ou studentID = 8
* ou ter "Maxmimo" no nome
O exemplo a seguir é semelhante, mas especifica ainda que, se algum aluno tiver determinadas pontuações do SAT (1000, 1400), ele não será apresentado:
```sql
select studentID, FullName, sat_score, recordUpdated
from student
where (
studentID between 1 and 5
or studentID = 8
or FullName like '%Maximo%'
)
and sat_score NOT in (1000, 1400);
```
![image-1](https://github.com/SteveChevalier/guide-images/blob/master/syntax02.JPG)
### Ordenar por (ASC, DESC)
Order By nos dá uma maneira de classificar o conjunto de resultados por um ou mais dos itens na seção SELECT. Aqui está a mesma lista acima, mas classificada pelo nome completo dos alunos. A ordem de classificação padrão é ascendente (ASC), mas para classificar na ordem oposta (descendente) você usa DESC, como no exemplo abaixo:
```sql
select studentID, FullName, sat_score
from student
where (studentID between 1 and 5 -- inclusive
or studentID = 8
or FullName like '%Maximo%')
and sat_score NOT in (1000, 1400)
order by FullName DESC;
```
![image-1](https://github.com/SteveChevalier/guide-images/blob/master/syntax03.JPG)
### Agrupar por e ter
O Group By nos dá uma maneira de combinar linhas e agregar dados. A cláusula Having é como a cláusula Where acima, exceto que ela age nos dados agrupados.
Esses dados são dos dados das contribuições da campanha que estamos usando em alguns desses guias.
Esta instrução SQL responde à pergunta: "quais candidatos receberam o maior número de contribuições (não $ quantidade, mas conta (\*)) em 2016, mas apenas aqueles que tiveram mais de 80 contribuições?"
A ordenação desse conjunto de dados em uma ordem descendente (DESC) coloca os candidatos com o maior número de contribuições no topo da lista.
```sql
select Candidate, Election_year, sum(Total_$), count(*)
from combined_party_data
where Election_year = 2016
group by Candidate, Election_year
having count(*) > 80
order by count(*) DESC;
```
![image-1](https://github.com/SteveChevalier/guide-images/blob/master/syntax04.JPG)
_Como acontece com todas essas coisas SQL, MUITO MAIS para elas é o que está neste guia introdutório. Espero que pelo menos isso lhe dê o suficiente para começar. Por favor, consulte o manual do seu gerenciador de banco de dados e divirta-se tentando opções diferentes._