O SQL, Structured Query Language, é a linguagem utilizada para manipular bancos de dados. Com essa linguagem é possível: criar tabelas, recuperar, inserir, atualizar e deletar dados.
Existem vários programas que interpretam SQL como: MySQL, Oracle SQL, SQLServer entre outras.
SINTAXE
Todas estas linguagens possuem características em comum, mas também cada uma delas possui características próprias. Aqui iremos conhecer um pouco sobre a sintaxe do MySQL.
Estrutura
Antes de entender a sintaxe é importante entender a estrutura de uma tabela, pois usaremos esta estrutura para selecionar os dados, vamos chamar a tabela abaixo de People

Tabela é o conjunto de linhas e colunas, os dados se relacionam entre elas, em cada coluna há características da informação referente à linha. No exemplo acima cada linha é um sujeito, e cada coluna é uma característica deste sujeito.
A sintaxe básica é composta pelas declarações SELECT, FROM e não obrigatoriamente a cláusula WHERE.
SELECT
COLUNA
FROM
TABELA
WHERE
FILTRO
O SELECT é utilizado para especificar quais colunas da tabela devem ser selecionadas. O FROM seleciona a tabela de origem dos dados. E por fim, o WHERE, usado para passar informações específicas dos dados a serem selecionados.
OPERADORES
Quando precisamos realizar um filtro, utilizando o WHERE, com mais de uma condição, precisamos utilizar operadores como AND e OR. Na lógica o AND traz os dados que satisfaçam todas as condições solicitadas no WHERE.

Caso queira selecionar o nome referente a linha em que o dado da coluna Profession seja Teacher e a informação da coluna Age seja 42, é preciso utilizar o operador AND, como abaixo.
SELECT
Name
FROM
People
WHERE
Age = 42 AND Profession = 'Teacher'
O resultado desta query será ‘Yvonne’.
Caso precisemos dos nomes em que o campo Profession seja ‘Teacher’ ou ‘Sales’ precisamos usar o operador OR. Este operador retorna no resultado as linhas que satisfazem uma das condições solicitadas no WHERE.
SELECT
Name
FROM
People
WHERE
Profession = 'Sales' OR Profession = 'Teacher'
Esta query irá retornar os valores “Kerri”, “Bradley” e “Yvonne”.
ORDER BY
O comando Order by é utilizado para organizar o retorno do resultado em ordem específica. Com o seguinte comando conseguimos retornar os nomes por idade em ordem descendente.
SELECT
Name,
Age
FROM
People
ORDER BY
Age desc

OS JOINS

Joins são usados para combinar linhas de duas ou mais tabelas com base em um campo em comum. Existem três tipos de Joins: Inner Join, Left Join e Right Join.
Inner Join

Este tipo de Join retorna todas as linhas que são comuns entre todas as tabelas selecionadas. Para combinar as tabelas é utilizada a cláusula ON, e nela é passado o campo que irá combinar as tabelas. Se quisermos relacionar as tabelas TELEFONE e CONTATO, o que temos em comum entre elas é o campo ID.
SELECT
TELEFONE,
NOME
FROM
TELEFONE
INNER JOIN CONTATO ON TELEFONE.ID = CONTATO.ID
O retorno será todos os contatos que existem em ambas tabelas.
Left Join

O retorno com Left Join traz todas as linhas da tabela da esquerda e apenas as linhas correspondentes da tabela da direita. Neste caso entendemos que a tabela da esquerda é a primeira tabela declarada na query e a da esquerda a segunda, que é declarada após a cláusula Left Join.

Right Join

O retorno com o Right Join faz a ordem inversa do Left Join. Todas as linhas da tabela à direita e apenas as linhas correspondentes da tabela à esquerda. Importante lembrar que assim como no Inner Join, tanto no Left quanto no Right Join a cláusula ON é utilizada para determinar qual coluna será fará o relacionamento das tabelas.

Saiba mais:
Curso Básico de SQL para Análise de Dados
