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

4.3 KiB

title localeTitle
SQL Syntax 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:

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.

    select studentID, FullName, 3+2 as five, now() as currentDate 
    from student; 

image-1

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:

    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

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:

    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

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.

    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

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.