Voltar para a lista de artigos Artigos
22 minutos de leitura

Folha de dicas para entrevistas sobre SQL

Precisa consultar rapidamente todos os conhecimentos fundamentais para uma entrevista sobre SQL? Quer refrescar sua memória sobre um conceito de SQL? Nossa folha de consulta de SQL é sua nova melhor amiga!

Para se preparar para uma entrevista sobre SQL, é necessário aprimorar seu SQL. Mas é muito fácil se perder em meio a todos os conceitos de SQL que você precisa revisar. Nessas situações, você precisa de um recurso de fácil navegação repleto de conhecimento sobre SQL. Foi por isso que criamos esta folha de dicas para entrevistas sobre SQL. Se você precisa consultar rapidamente os conceitos básicos de SQL, esta folha de consulta é para você!

Se você precisar de um pouco mais do que apenas uma atualização rápida, considere fazer nosso SQL para Iniciantes curso. Ele ensina a você os fundamentos do SQL, desde a recuperação de dados até a criação de relatórios simples, usando 129 desafios de codificação. Depois, você pode consolidar seu conhecimento praticando os 1.190 desafios de codificação em nossa Trilha de Práticas em SQL trilha. Depois disso, você estará preparado para qualquer entrevista sobre SQL!

Sem mais delongas, vamos nos aprofundar em nossa Folha de dicas para entrevistas sobre SQL. Começaremos com a pergunta mais básica:

O que é SQL?

Structured Query Language (Linguagem de consulta estruturada), ou SQL, é uma linguagem de programação criada para lidar com dados em bancos de dados. Ela permite que os usuários consultem, adicionem, alterem, salvem e excluam dados em um banco de dados. Também pode ser usada para criar e alterar estruturas de bancos de dados.

Informações sobre a tabela SQL

Termo Explicação
Tabela Um objeto básico do banco de dados. Composta de linhas e colunas, ela armazena dados sobre um assunto específico (por exemplo, uma tabela "funcionários" armazena dados sobre os funcionários da empresa).
Colunas (ou atributos) Como as colunas de uma planilha, as colunas da tabela contêm detalhes sobre o assunto do banco de dados (por exemplo, a coluna "ID" armazena os números de identificação dos funcionários).
Linhas (ou registros) Como as linhas de uma planilha, as linhas da tabela contêm dados sobre uma única instância do assunto do banco de dados (por exemplo, uma linha registra todos os dados de um funcionário).
Campos Como uma célula em uma planilha, um campo é a interseção entre uma coluna e uma linha. Ele armazena uma parte dos dados, por exemplo, o número de identificação de um funcionário.
Tipos de dados Define o tipo de dados que pode ser armazenado em cada coluna.

Aqui está uma visualização da terminologia acima.

Folha de dicas para entrevistas sobre SQL

Comandos SQL

Termo Explicação
Consulta Uma instrução SQL que recupera dados, ou seja, uma instrução SELECT.
Declaração Um comando que pode ser executado no banco de dados; o bloco de construção mais básico do SQL.
Declarações DDL Os comandosData Definition Languagecriam e modificam objetos de banco de dados, como tabelas ou índices. A DDL é um subconjunto do SQL.
Declarações DCL As instruções da Linguagem de Controle de Dados concedem ou removem direitos de acesso a partes do banco de dados. DCL é um subconjunto de SQL.
Declarações DML As instruções da Linguagem de Manipulação de Dados nos permitem manipular as informações em um banco de dados. A DML é um subconjunto do SQL. As instruções populares de DML incluem as seguintes:
INSERT Insere uma ou mais novas linhas de dados em uma tabela.
UPDATE Modifica valores existentes em uma coluna da tabela.
DELETE Remove uma ou mais linhas da tabela.
Declarações DQL Os comandos Data Query Language recuperam dados de um banco de dados, ou seja, comandos SELECT.
SELECT Obtém dados de uma ou mais tabelas em um banco de dados.

Consultas SQL

Cláusulas básicas em uma consulta SQL

SELECT é a instrução mais comumente usada em consultas SQL. Essa consulta SQL típica também pode incluir várias cláusulas que nos permitem refinar os resultados da consulta. Aqui está a sintaxe de uma consulta SQL:

SELECT column_1, 
 column_2, 
 aggregate_function(column_3),
 …
FROM table_1
JOIN table_2 
ON table_1.common_column = table_2.common_column
WHERE column_1 <condition>
GROUP BY column_1, column_2, …
HAVING aggregate_function(column_3) <condition>
ORDER BY column_1 [ASC|DESC];

Veja a seguir uma explicação e um exemplo de cada cláusula:

Cláusula SQL Explicação Exemplo de código Saída de código
FROM Define de qual tabela os dados serão extraídos.
SELECT 
  first_name, 
  last_name
FROM employees;
Retorna o nome e o sobrenome dos funcionários da tabela employees.
JOIN Une dados de duas ou mais tabelas para que você possa consultá-los como uma única tabela.
SELECT 
  e.first_name,
  e.last _name,
  d.name
FROM employees e
JOIN department d
ON e.department_id = d.id;
Une as tabelas employees e department com base no ID do departamento. Retorna o nome e o sobrenome dos funcionários e o nome do departamento.
WHERE Filtra os registros antes da agregação e retorna apenas aqueles que satisfazem a condição declarada.
SELECT 
  first_name,
  last_name
FROM employees
WHERE last_name = 'Smith';
Retorna o nome e o sobrenome de todos os funcionários cujo sobrenome é Smith da tabela employees.
GROUP BY Agrupa os resultados da consulta com base nos valores da coluna compartilhada. Geralmente usado com funções de agregação.
SELECT 
  nationality,
  AVG(salary)
FROM employees
GROUP BY nationality;
Retorna o salário médio dos funcionários para cada nacionalidade.
HAVING Filtra os registros após a agregação e retorna apenas aqueles que satisfazem a condição declarada.
SELECT 
  nationality,
  AVG(salary)
FROM employees
GROUP BY nationality
HAVING AVG(salary) > 5000;
Retorna o salário médio dos funcionários para cada nacionalidade, mas somente para as nacionalidades em que o salário médio é superior a 5.000.
ORDER BY Classifica a saída em ordem crescente (1-10, A-Z) ou decrescente (10-1, Z-A) pelos valores da(s) coluna(s) fornecida(s).
SELECT 
  first_name,
  last_name
FROM employees
ORDER BY last_name ASC;
Retorna o nome e o sobrenome dos funcionários e classifica a saída em ordem alfabética pelos sobrenomes dos funcionários.

JOINs

JOIN é uma cláusula SQL que une duas ou mais tabelas, permitindo a recuperação de dados de todas as tabelas unidas.

Você pode encontrar explicações e representações de diferentes tipos de JOINs no gráfico abaixo.

INNER JOIN: retorna apenas as linhas correspondentes das tabelas unidas.

Folha de dicas para entrevistas sobre SQL

LEFT (OUTER) JOIN: retorna todas as linhas da primeira tabela (esquerda) e somente as linhas correspondentes da segunda tabela (direita). Os valores não correspondentes da tabela da direita são mostrados como NULLs.

Folha de dicas para entrevistas sobre SQL

RIGHT (OUTER) JOIN: retorna todas as linhas da segunda tabela (direita) e somente as linhas correspondentes da primeira tabela (esquerda). Os valores não correspondentes da tabela da esquerda são mostrados como NULLs.

Folha de dicas para entrevistas sobre SQL

FULL (OUTER) JOIN: retorna todas as linhas da tabela da esquerda e da direita. Os valores não correspondentes de qualquer uma das tabelas são mostrados como NULLs.

Folha de dicas para entrevistas sobre SQL

Agregação em SQL

A agregação é a realização de cálculos em várias linhas e o retorno de um único valor que representa um resumo ou resultado estatístico. Também é conhecida como agregação de linhas - por exemplo, contagem de linhas, cálculo da média ou da soma por grupo de linhas etc.

Como realizar a agregação de dados no SQL: Essa operação é feita usando as funções funções de agregação Basta passar o argumento entre os parênteses da função. Em outras palavras, escreva o nome da coluna que deseja agregar:

SELECT aggregate_function (column_name) 
FROM table_name;

GROUP BY: A agregação geralmente é feita em conjunto com a cláusula GROUP BY. GROUP BY organiza as linhas com os mesmos valores de coluna em um grupo. A combinação de funções de agregação com GROUP BY permite que você mostre rótulos ao lado dos valores agregados, como no gráfico abaixo:

Folha de dicas para entrevistas sobre SQL

HAVING: A cláusula HAVING filtra grupos com base no resultado de uma função de agregação; somente os registros que satisfazem a condição são mostrados na saída.

Veja um exemplo de como ela funciona:

Folha de dicas para entrevistas sobre SQL

Funções de agregação: As funções de agregação mais comuns estão listadas abaixo. Você pode encontrar mais informações sobre funções agregadas em nossa Folha de dicas sobre funções agregadas do SQL.

Função agregada Explicação Exemplo de código Saída de código
COUNT() Conta o número de linhas.
SELECT 
  country,
  COUNT(id)
FROM orders
GROUP BY country;
Retorna o número de pedidos de cada país na tabela.
AVG() Calcula o valor médio.
SELECT 
  country,
  AVG(value)
FROM orders
GROUP BY country;
Retorna o valor médio do pedido por país.
SUM() Calcula a soma dos valores.
SELECT 
  country,
  SUM(value)
FROM orders
GROUP BY country;
Totaliza o valor dos pedidos por país.
MIN() Retorna o menor valor.
SELECT 
  country,
  MIN(value)
FROM orders
GROUP BY country;
Retorna o menor valor de pedido por país.
MAX() Retorna o maior valor.
SELECT 
  country,
  MAX(value)
FROM orders
GROUP BY country;
Retorna o maior valor de pedido por país.

Para se aprofundar em GROUP BY e nas funções de agregação, consulte nosso artigo GROUP BY e funções de agregação: Uma visão geral completa.

Operadores de conjunto

Os operadores de conjunto do SQL combinam os resultados de uma ou mais SELECT em uma única saída.

Operador de conjunto Explicação
UNION Mostra somente as linhas exclusivas (não duplicadas) de todas as saídas do comando SELECT.
UNION ALL Mostra todas as linhas de todas as saídas de comandos SELECT, inclusive as duplicadas.
INTERSECT Mostra somente as linhas que existem em todas as saídas dos comandos SELECT.
MINUS or EXCEPT Retorna as linhas da primeira saída do SELECT que não existem em outras saídas do SELECT.

Subconsultas

SELECT As consultas que são incorporadas em outra consulta SQL são chamadas de subconsultas.

Elas podem ser usadas nas seguintes instruções principais:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE

As cláusulas que aceitam subconsultas são:

  • SELECT
  • FROM
  • WHERE
  • HAVING
  • JOIN

Os tipos de subconsultas são:

  • Escalar - Retorna exatamente um valor.
  • Várias linhas - Retorna vários valores.
  • Correlacionada - Faz referência à consulta principal.

O infográfico abaixo demonstra os diferentes tipos de subconsultas.

Exemplo 1: subconsulta escalar

Folha de dicas para entrevistas sobre SQL

Exemplo 2: Subconsulta de várias linhas

Folha de dicas para entrevistas sobre SQL

Exemplo 3: Subconsulta correlacionada

Folha de dicas para entrevistas sobre SQL

Operadores de subconsulta: As subconsultas são comumente usadas com vários operadores que permitem comparar os dados da consulta principal com a saída da subconsulta.

Operador de subconsulta Explicação
ANY ou SOME Retorna TRUE se qualquer valor de uma subconsulta satisfizer a condição da consulta principal.
ALL Retorna TRUE se todos os valores de uma subconsulta satisfizerem a condição da consulta principal.
EXISTS Retorna TRUE se uma subconsulta retornar qualquer linha.
IN Retorna todos os valores da consulta principal que podem ser encontrados na subconsulta que retorna vários valores, ou seja, uma lista de valores.

Operadores e expressões SQL

Os operadores no SQL são usados para operações de comparação, aritméticas e lógicas.

As expressões consistem em um ou mais valores, operadores, funções e outros componentes de consulta que calculam valores e criam condições. A expressão mais comum é CASE WHEN.

Operadores de comparação

Os operadores de comparação são usados para comparar valores em uma consulta.

Operador de comparação Explicação Exemplo de código Saída de código
= Ambos os valores são iguais ou correspondentes.
SELECT 
  first_name,
  last_name
FROM employees
WHERE salary = 5000;
Retorna todos os funcionários cujo salário é exatamente 5.000.
< Menor (inferior, menor) do que o valor comparado.
SELECT 
  first_name,
  last_name
FROM employees
WHERE salary < 5000;
Retorna todos os funcionários cujo salário é inferior a 5.000.
<= Menor ou igual ao valor comparado.
SELECT 
  first_name,
  last_name
FROM employees
WHERE salary <= 5000;
Retorna todos os funcionários cujo salário é igual ou inferior a 5.000.
> Maior (mais alto, maior) do que o valor comparado.
SELECT 
  first_name,
  last_name
FROM employees
WHERE salary > 5000;
Retorna todos os funcionários cujo salário é superior a 5.000.
>= Maior ou igual ao valor comparado.
SELECT 
  first_name,
  last_name
FROM employees
WHERE salary >= 5000
Retorna todos os funcionários cujo salário é igual ou superior a 5.000.
<> Os valores não são iguais ou não correspondem.
SELECT 
  first_name,
  last_name
FROM employees
WHERE salary <> 5000;
Retorna todos os funcionários cujo salário não é 5.000.
BETWEEN Verifica se o valor está no intervalo especificado. O operador é inclusivo, o que significa que os valores iguais aos valores superior e inferior do intervalo estão incluídos.
SELECT 
  first_name, 
  last_name
FROM employees
WHERE salary BETWEEN 5000 
  AND 6000;
Retorna todos os funcionários cujo salário está entre 5.000 e 6.000, incluindo aqueles cujo salário é exatamente 5.000 ou 6.000.
LIKE Verifica se o valor corresponde ao padrão de string (texto) fornecido. Importante: esse operador diferencia maiúsculas de minúsculas.
SELECT 
  first_name,
  last_name
FROM employees
WHERE last_name LIKE 'van%';
Retorna todos os funcionários cujos sobrenomes começam com "van", como "van Basten" e "vanBeek". Não inclui "Vandeley", pois a pesquisa diferencia maiúsculas de minúsculas.
ILIKE Verifica se o valor corresponde a um padrão de cadeia de caracteres (não diferencia maiúsculas de minúsculas).
SELECT 
  first_name,
  last_name
FROM employees
WHERE last_name ILIKE 'van%';
Retorna todos os funcionários cujos sobrenomes começam com "van", como "van Basten", "vanBeek" e "Vandeley" - a pesquisa não diferencia maiúsculas de minúsculas.
IS NULL verifica se o valor é NULL.
SELECT 
  first_name,
  last_name
FROM employees
WHERE end_date IS NULL;
Retorna todos os funcionários que ainda estão na empresa, ou seja, cuja data de término do vínculo empregatício é NULL.
IS NOT NULL Verifica se o valor não é NULL.
SELECT 
  first_name,
  last_name
FROM employees
WHERE end_date IS NOT NULL;
Retorna todos os ex-funcionários, ou seja, registros em que a data de término do emprego não é NULL.
IN Verifica se o(s) valor(es) pode(m) ser encontrado(s) na lista de valores fornecida.
SELECT 
  first_name,
  last_name
FROM employees
WHERE city IN (
  'New York', 
  'Los Angeles', 
  'Baltimore');
Retorna todos os funcionários que moram em Nova York, Los Angeles ou Baltimore.

Operadores aritméticos

Os operadores aritméticos são usados para realizar operações matemáticas no SQL.

Operador aritmético Explicação Exemplo de código Saída de código
+ Adiciona valores.
SELECT 
  first_name,
  last_name,
  salary + bonus
FROM employees;
Retorna os nomes dos funcionários e calcula sua remuneração total, ou seja, a soma do salário e do bônus.
- Subtrai valores.
SELECT 
  first_name,
  last_name,
  vacation_days - used_vacation_day
FROM employees;
Retorna os nomes dos funcionários e calcula os dias de férias restantes, ou seja, a diferença entre o total de dias de férias e os dias de férias utilizados.
* Multiplica valores.
SELECT 
  first_name,
  last_name,
  salary*1.03
FROM employees;
Retorna os nomes dos funcionários e calcula o salário deles após um aumento de 3%, ou seja, o produto do salário atual por 1,03.
/ Divide valores.
SELECT 
  first_name,
  last_name,
  salary/12
FROM employees;
Retorna os nomes dos funcionários e calcula seu salário mensal, ou seja, seu salário anual dividido por 12.
** Eleva um número à potência de outro.
SELECT 
  first_name,
  last_name,
salary * 1.05 ** 3
FROM employees;
Retorna os nomes dos funcionários e calcula seu salário após três anos de aumentos anuais de 5%, ou seja, um produto de seu salário atual e 1,05 elevado à potência de 3.
% Retorna o restante da divisão (operador de módulo).
SELECT 
  first_name,
  last_name
FROM employees
WHERE id % 2 = 0;
Retorna todos os funcionários cujo ID é um número par (porque o restante quando o ID é dividido por dois é zero).

Operadores lógicos

Os operadores lógicos combinam várias condições.

Operador lógico Explicação Exemplo de código Saída de código
AND Verifica se ambas as condições foram atendidas.
SELECT 
  first_name,
  last_name
FROM employees
WHERE department = 'IT' 
  AND salary > 5000;
Retorna todos os funcionários que trabalham em TI e cujo salário é superior a 5.000.
OR Verifica se uma das condições foi atendida.
SELECT 
  first_name,
  last_name
FROM employees
WHERE department= 'IT' 
  OR salary > 5000;
Retorna todos os funcionários que trabalham em TI ou cujo salário é superior a 5.000.
NOT Verifica se a condição fornecida não foi atendida.
SELECT 
  first_name,
  last_name
FROM employees
WHERE NOT department = 'IT';
Retorna todos os funcionários que não trabalham em TI.

CASO WHEN

CASE WHEN é uma expressão condicional que retorna valores especificados nos casos em que a condição é e não é atendida. Essa é a implementação do SQL da lógica IF-THEN.

A sintaxe do CASE WHEN é:

CASE 
    WHEN condition_1 THEN value_1
    WHEN condition_2 THEN value_2
    ...
    ELSE default_value
END;
  • CASE inicia a expressão.
  • WHEN especifica a condição que deve ser atendida.
  • THEN especifica o valor que será retornado se a condição for atendida.
  • ELSE especifica o valor que será retornado se a condição não for atendida.
  • END encerra a expressão.

Funções SQL

As funções SQL são partes de código nomeadas e predefinidas que podem ser usadas em uma consulta SQL. Essas funções aceitam argumentos (escritos entre parênteses na função) que informam à função como ou onde ela deve ser executada.

Os tipos básicos de funções SQL são:

Funções de texto

Função de texto Explicação Exemplo de código Saída de código
CONCAT() Concatena duas ou mais cadeias de caracteres em uma única cadeia.
SELECT 
  CONCAT(first_name, 
    ' ', last_name)
FROM employees;
Concatena o nome e o sobrenome dos funcionários de duas colunas separadas em uma única string mostrada em uma coluna.
SUBSTRING() Retorna parte de uma cadeia de caracteres.
SELECT 
  first_name,
  last_name,
  SUBSTRING(last_name, 4)
FROM employees;
Retorna os nomes completos dos funcionários e as primeiras quatro letras de seus sobrenomes.
LENGTH() Retorna o comprimento de uma cadeia de caracteres (como o número de caracteres).
SELECT 
  first_name,
  last_name,
  LENGTH(last_name)
FROM employees;
Retorna os nomes completos dos funcionários e o número de caracteres em seus sobrenomes.
LEFT() Retorna um número específico de caracteres do início (lado esquerdo) de uma cadeia de caracteres.
SELECT 
  first_name,
  last_name,
  LEFT(last_name, 3)
FROM employees;
Retorna os nomes completos dos funcionários e as três primeiras letras de seus sobrenomes.
RIGHT() Retorna um número específico de caracteres do final (lado direito) de uma cadeia de caracteres.
SELECT 
  first_name,
  last_name,
  RIGHT(last_name, 3)
FROM employees;
Retorna os nomes completos dos funcionários e as três últimas letras de seus sobrenomes.
TRIM() Remove espaços vazios de ambos os lados de uma cadeia de caracteres.
SELECT 
  TRIM(first_name),
  TRIM(last_name),
FROM employees;
Retorna os nomes completos dos funcionários sem espaços à esquerda e à direita, por exemplo, o sobrenome Jonas' se torna 'Jonas'.
REPLACE() Substitui uma substring especificada por outra substring.
SELECT 
  first_name,
  last_name,
  REPLACE(department,
    'Acuonting', 'Accounting')
FROM employees; 
Retorna os nomes completos dos funcionários e seus departamentos ao renomear o departamento "Acuonting" para "Accounting".
REVERSE() Inverte uma cadeia de caracteres.
SELECT REVERSE(last_name)
FROM employees;
Retorna versões invertidas dos sobrenomes dos funcionários, por exemplo, "Jonas" torna-se "sanoJ".
UPPER() Converte uma cadeia de caracteres em todos os caracteres maiúsculos.
SELECT UPPER(last_name)
FROM employees;
Retorna versões em letras maiúsculas dos sobrenomes dos funcionários, por exemplo, "Jonas" torna-se "JONAS".
LOWER() Converte uma cadeia de caracteres em todos os caracteres minúsculos.
SELECT LOWER(last_name)
FROM employees;
Retorna versões em letras minúsculas dos sobrenomes dos funcionários, por exemplo, "Jonas" torna-se "jonas".

Você pode encontrar uma análise detalhada das funções de texto em nosso artigo An Overview of SQL Text Functions.

Funções numéricas

Função numérica Explicação Exemplo de código Saída de código
ABS() Retorna o valor absoluto de um valor numérico.
SELECT ABS(-169.23);
-169,23 torna-se 169,23.
ROUND() Arredonda um valor numérico para um número especificado de casas decimais.
SELECT ROUND(169.2389, 3);
169,2389 é arredondado para a terceira casa decimal e se torna 169,239.
CEILING() Arredonda um valor numérico até o primeiro número inteiro maior ou igual a ele.
SELECT CEILING(169.2389);
169,2389 é arredondado para 170.
FLOOR() Arredonda um valor numérico para baixo até o primeiro número inteiro menor ou igual a ele.
SELECT FLOOR(169.2389);
169,2389 é arredondado para 169.
POWER() Eleva um valor numérico à potência de outro valor numérico.
SELECT POWER(5, 4);
Eleva 5 à potência de 4, que é igual a 625.
SQRT() Retorna a raiz quadrada de um valor numérico.
SELECT SQRT(25);
Retorna a raiz quadrada de 25, que é igual a 5.
RAND() ou RANDOM() Retorna um número de ponto flutuante aleatório entre 0 e 1.
SELECT RANDOM();
Por exemplo, retorna 0,4371221377641987.
LOG() Retorna o logaritmo de um valor numérico de uma base especificada.
SELECT LOG(12, 2);
Retorna o logaritmo de base 2 de 12, que é 0,2789429456511298.
LN() Retorna o logaritmo natural de um valor numérico.
SELECT LN(12);
Retorna o logaritmo natural de 12, que é 2,4849066497880004.

Você pode encontrar um mergulho detalhado nas funções numéricas em nosso artigo SQL Numeric Functions.

Funções NULL

NULL Função Explicação Exemplo de código Saída de código
COALESCE() Retorna o primeiro valor não NULL de uma lista de argumentos.
SELECT 
  first_name,
  last_name,
  COALESCE(department, 'N/A')
FROM employees;
Retorna os funcionários e seus departamentos. Quando o valor na coluna department é NULL, ele é exibido como N/A na saída.
NULLIF() Retorna NULL se duas expressões forem iguais; caso contrário, retorna a primeira expressão.
SELECT 
  first_name,
  last_name
  NULLIF(department, 'N/A')
FROM employees;
Retorna os funcionários e seus departamentos. Quando o valor na coluna department é N/A, ele é exibido como NULL na saída.

DML - Modificação de dados no SQL

A seguir, apresentamos uma visão geral dos três comandos usados para modificação de dados (comandos DML).

Comando DML Explicação Exemplo de código Saída de código
INSERT Insere uma ou mais linhas de dados em uma tabela.
INSERT INTO employees (first_name, 
  last_name, department)
VALUES ('Francis', 'Ford', 'Sales');
Insere um novo funcionário na tabela employees. O primeiro nome do funcionário inserido é Francis, seu sobrenome é Ford e ele trabalha no departamento de vendas.
UPDATE Modifica o valor da coluna para uma ou mais linhas.
UPDATE employees
SET department = 'Accounting'
WHERE department = 'Acuonting';
Atualiza o nome do departamento com erro ortográfico "Acuonting" com o correto "Accounting".
DELETE Exclui uma ou mais linhas da tabela.
DELETE
FROM employees
WHERE id = 6;
Exclui todos os dados da linha em que o valor do ID do funcionário é 6.

DDL - Definição da estrutura de dados em SQL

Os principais conceitos de DDL (Data Definition Language) são:

Comandos DDL

Aqui está uma visão geral dos comandos DDL:

Comando DDL Explicação Exemplo de código Saída de código
CREATE TABLE Cria uma nova tabela com nomes de colunas, tipos de dados e restrições especificados.
CREATE TABLE customers(
  id INT PRIMARY KEY,
  first_name VARCHAR(120),
  last_name VARCHAR(120)
);
Cria a tabela customers com colunas denominadas id, first_name e last_name. Os tipos de dados da coluna são INT, VARCHAR(120) e VARCHAR(120), respectivamente. Além disso, a restrição de chave primária é definida na coluna ID.
DROP TABLE Remove a tabela inteira e sua definição de um banco de dados.
DROP TABLE customers;
Exclui a tabela customers juntamente com suas colunas, dados, definições de tipo de dados, restrições etc.
CREATE VIEW Cria uma consulta armazenada (também conhecida como "visualização") que pode ser reutilizada e usada em outras consultas.
CREATE VIEW salary_summary AS
SELECT 
  department, 
  AVG(salary)
FROM employees
GROUP BY department;
Cria uma visualização chamada salary_summary, que calcula o salário médio por departamento.
DROP VIEW Exclui completamente uma visualização e sua definição do banco de dados.
DROP VIEW salary_summary;
Exclui a exibição salary_summary e sua definição do banco de dados.
ALTER TABLE Modifica a estrutura da tabela existente por ...
... renomeando a tabela
ALTER TABLE employees
RENAME TO salaries;
Altera o nome da tabela employees para salaries.
... renomeando uma coluna
ALTER TABLE employees
RENAME COLUMN last_name TO surname;
Altera o nome da coluna last_name para surname.
... alterar o tipo de dados de uma coluna
ALTER TABLE employees
ALTER COLUMN salary DECIMAL(10,2);
Altera o tipo de dados da coluna salary para DECIMAL(10,2).
... adicionando uma coluna
ALTER TABLE employees
ADD date_of_birth DATE;
Adiciona a coluna date_of_birth (do tipo de dados DATE ) à tabela employees.
... eliminando a coluna
ALTER TABLE employees
DROP COLUMN  end_date;
Remove a coluna end_date da tabela employees.

Tipos de dados SQL

Veja abaixo uma visão geral dos tipos de dados SQL mais comuns.

Tipo de dados Explicação
Tipos de dados numéricos
INT Representa números inteiros, ou seja, números inteiros. O intervalo é de -2147483648 a 2147483648 e usa 4 bytes de armazenamento.
DECIMAL(p, s) Representa números decimais de ponto fixo com a precisão p (o número total de dígitos antes e depois do ponto decimal) e a escala s (dígitos após o ponto decimal).
FLOAT Representa valores aproximados com precisão de ponto flutuante.
SMALLINT Representa números inteiros pequenos de -32.768 a 32.767; usa 2 bytes de armazenamento.
Tipos de dados String
CHAR(n) Representa uma cadeia de caracteres de comprimento fixo com um número n de caracteres; o comprimento máximo é 255.
VARCHAR(n) Representa uma cadeia de caracteres de comprimento variável de n caracteres (máximo de 255).
TEXT Representa uma cadeia de caracteres de comprimento variável grande (até 65.535 bytes).
Tipos de dados de data e hora
DATE Uma data no formato AAAA-MM-DD.
TIME Uma hora no formato HH:MI:SS.
DATETIME Data e hora no formato AAAA-MM-DD HH:MI:SS.
INTERVAL Uma data ou período de tempo, por exemplo, ANO, MÊS, DIA, HORA, etc.
BOOLEAN Um valor lógico, ou seja, VERDADEIRO ou FALSO.

Restrições de SQL

Esta é uma visão geral das restrições SQL mais comuns:

Restrição Explicação Exemplo de código Saída de código
PRIMARY KEY Garante que os valores na coluna sejam exclusivos (não duplicados) e não NULL.
CREATE TABLE orders (
  id INT PRIMARY KEY,
  value DECIMAL(10,2)
);
Os valores na coluna id da tabela orders serão exclusivos e não aceitarão NULLs.
FOREIGN KEY Vincula uma coluna de uma tabela à chave primária de outra tabela. Isso cria um relacionamento entre as duas tabelas.
CREATE TABLE orders (
  id INT PRIMARY KEY,
  value DECIMAL(10,2),
  customer_id INT,
  FOREIGN KEY (customer_id) REFERENCES customers (id)
);
A coluna customer_id da tabela orders é uma chave estrangeira que faz referência à coluna id da tabela customers.
NOT NULL Garante que uma coluna não aceite valores NULL.
CREATE TABLE orders (
  id INT PRIMARY KEY,
  value DECIMAL(10,2) NOT NULL
);
Os valores da coluna value não podem ser NULL, ou seja, cada pedido deve ter um valor.
UNIQUE Garante que os valores da coluna sejam exclusivos, mas permite valores NULL.
CREATE TABLE customer(
  id INT PRIMARY KEY,
  name VARCHAR(120),
  nin INT UNIQUE
);
Os valores da coluna nin (National Identification Number) devem ser exclusivos, mas NULLs são permitidos.
DEFAULT Define um valor de coluna padrão quando um valor não é especificado para essa coluna durante INSERT.
CREATE TABLE orders (
  id INT PRIMARY KEY,
  value DECIMAL(10,2),
  order_date DEFAULT CURRENT_DATE
);
Se o order_date não for definido durante INSERT, o valor padrão será a data atual.
CHECK Verifica se os valores em uma coluna satisfazem uma condição declarada; rejeita os que não satisfazem.
CREATE TABLE orders (
  id INT PRIMARY KEY,
  value DECIMAL(10,2),
  check(value>0)
);
Aplica uma regra em que um valor de pedido não pode ser zero se tiver de ser armazenado na tabela orders.

Recursos adicionais para entrevistas sobre SQL

Além desta folha de dicas para entrevistas sobre SQL, use estes recursos adicionais para revisar as perguntas e os tópicos da entrevista sobre SQL:

  1. Complete Trilha de Práticas em SQL for Interviews
  2. Mais de 100 perguntas e exercícios práticos sobre SQL para entrevistas
  3. As 10 principais perguntas e respostas de entrevistas sobre SQL JOIN
  4. As 9 principais perguntas da entrevista sobre SQL GROUP BY
  5. As 10 principais perguntas da entrevista sobre SQL Funções de Janela (Window Functions) em SQL
  6. As 5 principais perguntas de entrevista sobre SQL CTE
  7. As 27 principais perguntas da entrevista sobre SQL Avançado com respostas
  8. 15 perguntas complicadas sobre SQL para usuários experientes

Indo além da folha de dicas da entrevista sobre SQL

Cobrimos todos os conceitos fundamentais nesta Folha de dicas para entrevistas sobre SQL. Para impressionar durante a entrevista, você precisará demonstrar seu domínio dessas ideias.

Esta folha de dicas o ajudará a procurar rapidamente a definição ou um exemplo de um determinado comando SQL. Use-a sempre que você não conseguir entender a terminologia ou os conceitos do SQL. No entanto, este não é um recurso de aprendizado autônomo. É melhor usá-la junto com nosso SQL para Iniciantes curso, Trilha de Práticas em SQL ou outros recursos principais para aprender e praticar SQL.

Combine esses materiais, continue praticando e você será aprovado na entrevista sobre SQL!