Voltar para a lista de artigos Artigos
8 minutos de leitura

Termos SQL que os Iniciantes Devem Saber - Parte 4

Aqui está - outro lote de termos SQL que devem saber. Nas duas primeiras partes, cobrimos tabelas, bancos de dados relacionais, consultas, pseudônimos, Cláusulas JOIN em SQL, chaves primárias, e subconsultas. Da última vez, passamos a termos mais avançados como INSERT INTO, GROUP BY, e HAVING. Você está pronto para mergulhar mais profundamente na terminologia SQL?

Esta é a quarta parte de nossa série sobre termos SQL básicos para iniciantes (e todos os outros). Não se preocupe se você perdeu os artigos anteriores; você pode encontrar a Parte 1 (termos SQL essenciais), Parte 2, e Parte 3 em nosso blog.

Não hesite em voltar aos artigos anteriores, mesmo que você já os tenha lido. Quanto mais você repetir estas informações, melhor você as reterá. Então, vamos aprender mais alguns termos SQL que você precisa saber.

Ainda mais termos SQL para iniciantes!

CASO

A declaração CASE passa por várias condições e retorna um valor quando a primeira condição é cumprida. Uma vez que a condição é verdadeira, CASE retorna o resultado e pára. Se você tem uma situação em que nenhuma condição é verdadeira, ela retorna o valor na cláusula ELSE. Se não houver nenhuma cláusula ELSE e nenhuma condição for verdadeira, ela retorna NULL.

CASE pode ser usado nas declarações SELECT com as cláusulas WHERE, ORDER BY, e GROUP BY . Também funciona com a declaração INSERT.

A instrução case em SQL pode ser usada de duas maneiras: atribuindo um resultado a um valor ou calculando um resultado a partir de expressões lógicas. Você pode aprender mais sobre isto em nosso artigo sobre o uso do CASE com a função SUM().

CTE / COM Cláusulas

CTE é a abreviação de Common Table Expression; também é chamado de cláusula COMO ou uma cláusula com nome. Isso porque a palavra-chave WITH inicia todos os CTEs.

Os CTEs foram introduzidos pela primeira vez em SQL:1999 e foram adotados no SQL Server em 2005. O principal e o melhor do CTE é que ele simplifica e esclarece consultas complexas.

Quando você aprender como usar os CTEs, você os escolherá em vez de subconsultas a maior parte do tempo. Por quê? Porque os CTEs tornam suas consultas mais legíveis, dividindo-as em blocos menores.

Com um CTE, você define um conjunto temporário de resultados nomeado. Ele é temporário porque não é armazenado permanentemente em nenhum lugar. Ele existe e está disponível na execução de declarações SELECT, INSERT, UPDATE, DELETE ou MERGE; quando a declaração é executada, o CTE é descartado.

Aqui estão algumas regras básicas do CTE:

  • Comece com o operador WITH.
  • Especifique o nome que você usará para o CTE. Opcionalmente, você também pode especificar os nomes das colunas, separados por vírgulas.
  • Após o nome da expressão, coloque o AS
  • Escreva a consulta que produzirá o conjunto de resultados desejado.

A sintaxe básica da cláusula WITH é parecida com esta:

WITH subquery1_name AS
(SELECT … subquery1...),
subquery2_name AS
(SELECT … subquery2...)
SELECT … main query ... 

Como você vê no exemplo de sintaxe, você pode ter vários CTEs em uma consulta. E estes CTEs podem fazer referência a si mesmos ou a outro CTE na consulta.

Os CTEs podem ser recursivos ou não recursivos. Os CTEs recursivos são mais avançados e requerem a adição da palavra-chave RECURSIVE (RECURSIVO). Eles permitem que você atravesse estruturas hierárquicas como listas técnicas ou organogramas.

Há muitas maneiras de usar os CTEs. Você pode verificá-las em nosso guia. Você também pode ver alguns exemplos práticos e aprender mais sobre o motivo pelo qual vale a pena usar a cláusula COM APLICAÇÃO.

DISTINCT

Mesmo que você seja um iniciante absoluto em SQL, você provavelmente está familiarizado com dados duplicados. Isto acontece porque as consultas SQL mostrarão todas as linhas retornadas no conjunto de resultados, mesmo que sejam idênticas. Felizmente, a palavra-chave DISTINCT está aqui para limpar as coisas, removendo todos os valores duplicados de seu resultado.

DISTINCT funciona com SELECT e deve aparecer antes das colunas especificadas. É o que parece:

SELECT DISTINCT
  column_1,
  column_2,
  …,
  column_n
FROM table_name

Você pode usar DISTINCT com uma ou mais colunas. Mas lembre-se que o SQL DISTINCT procurará uma linha distinta do que uma coluna distinta.

Esta é apenas uma parte das possibilidades que o DISTINCT oferece. Se você quiser aprender como gerenciar várias colunas ou agregar funções ou usar DISTINCT com GROUP BY, leia este artigo. Você também pode realmente expandir seus conhecimentos com nossa faixa completa de aprendizagem de A a Z SQL.

IDE

IDE significa ambiente de desenvolvimento integrado. Você já sabe que precisa de um ambiente onde você possa escrever suas consultas SQL. Claro, você pode começar a usar a linha de comando, mas logo você vai precisar de mais do que isso.

Uma IDE combina um editor de código, depurador, alguma automação e basicamente tudo o que você precisa para trabalhar confortavelmente com grandes bancos de dados. Talvez você já tenha ouvido falar sobre Oracle SQL Developer, My SQL Workbench, ou DBeaver? Estas são todas IDEs.

Se você não tem certeza de qual IDE SQL seria adequada para você, verifique nossa lista das melhores IDEs de 2021.

INTERSECT

Este é um dos operadores do conjunto SQL. Com INTERSECT, você pode combinar dois SELECT declarações. Em troca, você receberá linhas que são comuns às duas declaraçõesSELECT. INTERSECT cria uma interseção das declarações selecionadas.

Dê uma olhada em uma sintaxe básica INTERSECT:

SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]
 
INTERSECT
 
SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]

Quando você quiser usar INTERSECT, há algumas coisas a serem lembradas. Quando você escreve as consultas SELECT, o número e a ordem das colunas devem ser os mesmos. Além disso, os tipos de dados das colunas devem ser os mesmos ou pelo menos ser compatíveis.

Você pode saber mais sobre INTERSECT aqui.

UNIÃO

Você já se encontrou com INTERSECT. Agora é hora de outro operador do conjunto básico: UNION. Isto também é útil quando você deseja comparar duas ou mais tabelas. A diferença é que as declarações UNION retornam apenas valores únicos.

Por exemplo, suponha que você tenha duas tabelas contendo os filmes favoritos de duas pessoas. Com UNION, você pode fundir estas tabelas e obter um resultado que não inclua nenhuma duplicata. (Mas se você quiser saber se essas pessoas gostam dos mesmos filmes, você precisaria usar INTERSECT).

Veja

Uma visão é uma declaração SQL que é nomeada e armazenada no banco de dados. Em outras palavras, é como armazenar uma consulta predefinida; uma view armazena a consulta em si, não a saída da consulta. Para saber mais sobre as visualizações SQL, veja este artigo.

Você pode criar uma visualização a partir de uma ou várias tabelas. Ela pode conter linhas selecionadas de uma tabela ou de todas elas. A forma como a visualização estrutura os dados é realmente clara e intuitiva. Você obtém dados resumidos, que podem ser muito úteis, por exemplo, para gerar relatórios.

Para iniciantes, as visualizações e CTEs parecem bastante semelhantes. Se você quiser saber quando usar cada um deles, verifique este artigo sobre a diferença entre os CTEs e as visualizações em SQL.

CONSIDERANDO

WHERE é uma das cláusulas mais importantes em SQL. É quase tão comum quanto SELECT.

WHERE basicamente descreve o que você está procurando em sua consulta. Você pode usá-la com números ou texto para retornar um valor ou uma faixa de valores. WHERE também pode ser usado com DELETE para remover alguns dados ou com UPDATE para modificar um registro.

Veja como WHERE fica com os números:

SELECT *
FROM table
WHERE id = 2021

E aqui está WHERE com texto:

SELECT * 
FROM best_sailors 
WHERE FirstName = 'Yannick' AND LastName = 'Bestaven'

ONDE, como você pode ver, é uma ferramenta muito poderosa. Ela lhe dá muitas opções ao trabalhar com dados.

Funções de Janela (Window Functions) em SQL

As funções de janela são outra grande ferramenta para aqueles que querem aprimorar suas habilidades SQL. Estas funções realizam cálculos através de um conjunto de linhas que estão relacionadas com a linha atual. A 'janela' na função janela é porque este conjunto de linhas é chamado de 'janela' ou 'quadro de janela'.

As funções de janela permitem realizar análises estatísticas, tais como classificar dados com base na maioria das vendas, calcular totais de receitas correntes ou usar médias móveis para analisar o desempenho das lojas. Elas são inestimáveis quando você quer comparar dados ao longo do tempo e rastrear tendências.

Basicamente, as funções de janela ajudam em tudo o que é importante na análise de negócios. Se você quiser ver alguns exemplos práticos simples, veja nosso artigo sobre o uso das funções de janela. Se você sabe que vai precisar de funções de janela, aqui está uma grande interatividade Funções de Janela (Window Functions) em SQL curso.

Leia, Repita, Lembre-se

Muito bem - você acaba de expandir seu conhecimento dos termos SQL! Mas você ainda não terminou. Lembre-se: quanto mais você ler, repetir e aprender, mais rápido você se tornará confiante ao discutir (e usar) SQL.

Para melhorar suas habilidades em SQL, experimente os cursos online do LearnSQL e visite regularmente nosso blog. E não se esqueça de assinar nosso boletim informativo para que você se mantenha informado sobre novos artigos e promoções!

Existem algumas declarações ou termos SQL que você gostaria de ver nestes artigos? Diga-nos nos comentários. Eles podem estar em nosso próximo conjunto de termos SQL para iniciantes. Fique atento!