Hamburger_menu.svg

51 perguntas e respostas para entrevista SQL em 2024

Você está procurando por vagas SQL? Ou sua equipe está em busca de mais um talentoso desenvolvedor SQL? Seja qual for o caso, é importante ter uma lista pronta de perguntas avançadas para entrevistas de emprego SQL. Portanto, reunimos as mais importantes perguntas e respostas no post abaixo. Esperamos que elas o ajudem, seja você um recrutador ou um desenvolvedor em busca de trabalho.

Atualizado em Mai 19, 2024

SQL (Structured Query Language) é uma linguagem de programação que ajuda no gerenciamento de dados em Sistemas de Gerenciamento de Dados. Atualmente, há uma alta demanda por programadores SQL no mercado tech. No entanto, os recrutadores estão procurando por desenvolvedores SQL qualificados e com conhecimento prático sobre a linguagem para preencherem vagas de trabalho online. Portanto, é imperativo preparar-se com antecedência para responder bem às perguntas e respostas em entrevistas SQL.

Selecionamos uma lista de perguntas e respostas para entrevistas de emprego SQL. Esta lista conta com algumas perguntas que vão desde o nível básico até o avançado sobre a linguagem e as habilidades exigidas de um desenvolvedor SQL. Vale ressaltar que, dependendo do nível de experiência, os candidatos podem ter que responder a uma combinação diferente de perguntas, entre básicas e avançadas, então não deixe de checar cada uma.

Perguntas e respostas de entrevistas SQL

1.

O que é SQL?

SQL significa Structured Query Language. Ela é uma linguagem de programação usada para gerenciar dados armazenados em bancos de dados relacionais. O SQL permite a criação, consulta, atualização e exclusão de dados em um banco de dados, além de definir a estrutura dos dados em tabelas e os relacionamentos entre elas. Adicionalmente, SQL é amplamente utilizado em aplicativos web, sistemas de gerenciamento de banco de dados e outras soluções de software que precisam armazenar e acessar grandes quantidades de informações.

2.

Para que serve SQL? O que se pode fazer com ela?

SQL é uma linguagem de programação usada principalmente para gerenciar bancos de dados relacionais. Com ela é possível criar, modificar e consultar dados armazenados em um banco de dados.

Algumas das funcionalidades mais comuns do SQL incluem:

  • Criar bancos de dados e tabelas;
  • Inserir dados em uma tabela;
  • Atualizar e excluir dados de uma tabela;
  • Consultar dados de uma ou mais tabelas usando as cláusulas SELECT, WHERE, ORDER BY, GROUP BY e outras;
  • Realizar operações para melhorar o desempenho e a integridade dos dados;
  • Criar procedimentos armazenados, funções e desencadeadores para automatizar tarefas comuns ou garantir a consistência dos dados;
  • Gerenciar usuários e suas permissões de acesso ao banco de dados
  • Realizar backup e restauração de bancos de dados para proteger os dados contra perda ou corrupção.

3.

O que é uma consulta SQL?

Uma consulta SQL, ou query, é uma instrução utilizada para recuperar dados de um banco de dados relacional através dessa linguagem de programação. Ela pode ser usada para recuperar dados de uma ou mais tabelas, filtrar, classificar e agrupar resultados, realizar cálculos e executar outras operações em dados armazenados em um banco de dados.

4.

O que é Index, ou Índice, em SQL?

Com a ajuda dos Indexes, ou Índices, a recuperação das informações do banco de dados acontece de forma mais rápida e eficiente. Dessa forma, esses recursos melhoram o desempenho. Existem três tipos de índices:

  • Agrupado: usado para reordenar tabelas e pesquisar informações com valores de chave.
  • Não clusterizado: usado para manter a ordem das tabelas.
  • Exclusivo: proíbe os campos de terem valores duplicados.

Vale ressaltar que pode haver muitos índices não agrupados em uma tabela, no entanto, só pode haver um índice agrupado.

5.

O que é um synonym em SQL?

Synonym, traduzido diretamente como sinônimo, como o nome sugere é um sinônimo usado para dar nomes diferentes ao mesmo objeto no banco de dados. No caso de renomeação de objeto (object-renaming) ou mudança de schema de objeto (object schema-change), os aplicativos existentes podem continuar a usar nomes mais antigos graças aos sinônimos. Um sinônimo deve apenas referenciar um objeto e não outro sinônimo. Além disso, sinônimos também podem ser usados para fazer referência a objetos em diferentes bancos de dados ou servidores, usando nomes de objetos de 3 ou 4 partes. Pode haver muitos nomes para um único objeto de banco de dados, desde que todos os nomes se refiram diretamente ao mesmo objeto no banco de dados.

Você deve garantir que sabe as respostas para essas perguntas básicas da entrevista SQL, pois respondê-las corretamente lhe dará a confiança necessária para responder às mais difíceis.

6.

Cite algumas vantagens dos sinônimos.

Abaixo estão algumas vantagens de usar sinônimos:

  • Sinônimos criam uma camada de abstração para o objeto específico
  • Para objetos com nomes complexos de 3 ou 4 partes, residentes no mesmo servidor, sinônimos podem fornecer um alias mais simples
  • Oferece flexibilidade para alterar a localização do objeto sem precisar alterar o código existente
  • Os sinônimos oferecem compatibilidade com versões anteriores para aplicativos mais antigos quando o nome de um objeto é alterado ou descartado
  • Os sinônimos também são úteis em ferramentas front-end de consulta , como tabelas e planilhas vinculadas ao Access, se houver um link direto para essas tabelas

7.

Há alguma desvantagem em usar sinônimos?

Sim, existem algumas desvantagens.

  • Os sinônimos são apenas vagamente vinculados ao objeto referenciado e, portanto, podem ser excluídos sem aviso prévio ao serem usados para referenciar um objeto de banco de dados diferente
  • O encadeamento interno não ocorre, o que significa que o sinônimo de um sinônimo não pode ser criado
  • Não é possível criar uma tabela com o mesmo nome do sinônimo
  • A verificação do objeto para o qual o sinônimo foi criado ocorre em tempo de execução e não no momento da criação. Isso significa que se houver um erro, como um erro de ortografia, ele só aparecerá em tempo de execução, criando um problema no acesso ao objeto
  • Sinônimos não podem ser referenciados em instruções DDL

Para perguntas de entrevista SQL que pedem que você fale sobre as vantagens ou desvantagens de um determinado componente ou ferramenta, certifique-se de listar o máximo possível. Além disso, você pode dar ainda mais valor a sua resposta ao adicionar histórias ou curiosidades pessoais sobre algumas das vantagens ou desvantagens.

8.

Os valores NULL são iguais a zero?

Não. Valores NULL mostram ausência de caracteres, enquanto zero é um valor numérico. Os valores NULL ocorrem quando um caractere não está disponível ou é desconhecido. Valores NULL também não devem ser confundidos com espaço em branco porque um espaço em branco não deve ter nenhum dado anexado a ele, enquanto um valor NULL mostra um registro de dados sem nenhum valor atribuído a ele.

9.

O que são subconsultas escalares e subconsultas correlacionadas?

Uma subconsulta escalar é quando uma consulta retorna apenas uma linha e uma coluna de dados. Uma subconsulta correlacionada ocorre quando uma consulta não pode ser processada sem informações de uma consulta externa. Nesses casos, os aliases da tabela definem o escopo do argumento e a subconsulta é parametrizada por uma consulta externa. Assim, há uma correlação entre as consultas internas e externas. Como resultado, a execução de ida e volta ocorre onde uma única linha de resultados da consulta externa passa parâmetros para a consulta interna.

Perguntas como a acima têm como objetivo verificar a profundidade de seu conhecimento sobre SQL.

10.

Qual é a diferença entre as funções NVL e NVL2?

A função NVL (exp1, exp2) é uma função de conversão que transforma exp1 no destino exp2 sob a condição de que exp1 seja NULL. O tipo de dados de exp1 é o mesmo de um valor de retorno. A função NVL2 (exp1, exp2, exp3), por outro lado, é uma função de verificação, que determina se exp1 é null ou não. Quando exp1 não é null, exp2 é retornado como resultado. Quando exp1 é null, exp3 é retornado como resultado.

11.

O que quer dizer "incremento automático"?

Com o comando auto-increment, pode-se gerar números únicos quando novos registros são adicionados a uma tabela. Esta função é especialmente útil quando se deseja gerar automaticamente os valores do campo de chave primária ao inserir novos registros. Este comando é útil em várias plataformas e em servidores SQL o incremento automático é chamado de “identity”.

12.

Qual é o principal uso do “procedimento armazenado recursivo” ou “recursive stored procedure”?

O principal uso do procedimento armazenado recursivo é fazer as chamadas de código até que certas condições de limite sejam alcançadas. Isso ajuda os programadores a aumentar a produtividade usando o mesmo código várias vezes.

Uma pergunta de entrevista SQL como esta mostra que, embora alguns dos conceitos avançados possam ser fáceis de entender, eles podem ser complexos quando tenta-se explicá-los. Portanto, ao se preparar para as perguntas da entrevista SQL, certifique-se de revisar todos os tipos de conceitos.

13.

Descreva “datawarehouse” em SQL.

Um datawarehouse, traduzido diretamente como armazém de dados, é um sistema usado para analisar e relatar dados. É muito semelhante a um armazém físico onde o estoque é guardado e avaliado antes de ser enviado a um cliente. Dessa forma, com esse recurso, os dados são armazenados, analisados e relatados. Um datawarehouse funciona como um repositório central de dados integrados de diferentes áreas e fontes e disponibiliza esses dados para uso.

14.

Quais são os comandos básicos do SQL?

Os principais comandos básicos do SQL incluem:

  • SELECT: é usado para selecionar dados de uma ou mais tabelas.
  • INSERT: é usado para inserir novos dados em uma tabela.
  • UPDATE: é usado para atualizar dados existentes em uma tabela.
  • DELETE: é usado para excluir dados de uma tabela.
  • CREATE: é usado para criar uma nova tabela, banco de dados ou outros objetos do banco de dados.
  • ALTER: é usado para modificar a estrutura de uma tabela ou outro objeto do banco de dados.
  • DROP: é usado para excluir uma tabela, banco de dados ou outros objetos do banco de dados.

15.

Para que serve o comando DELETE em SQL?

O comando DELETE em SQL é usado para excluir uma ou mais linhas de uma tabela. Isso permite remover dados indesejados ou desatualizados de um banco de dados. É importante ter cuidado ao usar o comando DELETE, pois ele pode apagar dados permanentemente e não pode ser desfeito, a menos que você tenha um backup do banco de dados. Logo, é recomendável sempre verificar e confirmar as linhas que serão excluídas antes de executar o comando.

16.

Para que serve o comando TRUNCATE em SQL?

O comando TRUNCATE em SQL é usado para remover todos os registros de uma tabela, fazendo com que ela fique vazia. É uma maneira mais rápida de remover todos os dados de uma tabela em comparação com o comando DELETE, pois o TRUNCATE não registra individualmente cada operação de exclusão, mas apenas desaloca o espaço da tabela. Isso significa que o TRUNCATE é uma operação não-transacional, ou seja, não pode ser revertida usando o comando ROLLBACK. Por causa disso, é importante ter cuidado ao usar o comando TRUNCATE, pois ele remove permanentemente todos os dados da tabela.

17.

O que é SQL Server?

O SQL Server é um sistema de gerenciamento de banco de dados relacional (RDBMS) desenvolvido pela Microsoft. Ele fornece um ambiente completo de gerenciamento de dados para armazenamento, gerenciamento, análise e recuperação de dados. O SQL Server é usado em muitas aplicações corporativas, desde pequenas empresas até grandes corporações, para gerenciar e armazenar grandes quantidades de dados de forma segura e eficiente. Ele oferece uma ampla gama de recursos e ferramentas para gerenciar bancos de dados, incluindo suporte para SQL, BI, segurança e análise de dados. Sendo compatível com diversas linguagens de programação, o SQL Server é amplamente utilizado em ambientes Windows.

18.

O que é o MySQL?

O MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) de código aberto, desenvolvido originalmente pela MySQL AB, uma empresa sueca adquirida posteriormente pela Oracle Corporation. Ele é amplamente utilizado em aplicativos da web para armazenar e recuperar dados.

O MySQL utiliza a linguagem SQL (Structured Query Language) para realizar operações em seu banco de dados e é conhecido por sua facilidade de uso, escalabilidade e capacidade de integrar-se com várias linguagens de programação, como PHP, Python e Java.

19.

O que é uma tabela e um campo em SQL?

Em SQL, uma tabela é uma coleção de dados organizados em linhas e colunas. Cada linha representa um registro e cada coluna representa um campo ou atributo do registro.

Como mencionado, um campo é uma coluna em uma tabela que armazena um tipo específico de dado, como texto, número, data ou booleano. Os campos são usados para armazenar informações específicas em um registro de tabela e podem ser usados para realizar operações de filtragem, ordenação e pesquisa nos dados armazenados.

20.

O que é join em SQL?

Join em SQL é um operador que combina dados de duas ou mais tabelas em um único conjunto de resultados, com base nas colunas relacionais entre elas. O join é usado para buscar dados relacionados em várias tabelas. Existem vários tipos de join em SQL, incluindo inner join, left join, right join e full outer join, cada um com um comportamento diferente na forma como combina as tabelas. A escolha do tipo de join depende da estrutura do banco de dados e do resultado esperado.

21.

O que é uma view em SQL? Como utilizar views?

Uma view em SQL é uma tabela virtual composta por colunas de outras tabelas ou views. Ela não contém dados próprios, mas apresenta os dados de outras tabelas de maneira estruturada, permitindo que o usuário acesse e manipule os dados de várias tabelas como se estivessem em uma única tabela.

Para utilizar views, é necessário criá-la utilizando a sintaxe apropriada do banco de dados e definir as colunas e tabelas que serão incluídas nela. Depois de criar a view, ela pode ser consultada como uma tabela normal, usando queries SQL.

22.

Quais são as 4 quatro instruções do SQL utilizada para manipulação de dados para com o banco de dados?

As quatro instruções do SQL utilizadas para manipulação de dados são:

  • SELECT: usada para recuperar dados de uma ou mais tabelas.
  • INSERT: usada para inserir novos dados em uma tabela.
  • UPDATE: usada para atualizar dados existentes em uma tabela.
  • DELETE: usada para excluir dados de uma tabela.

23.

O que é constraint em SQL?

Em SQL, uma constraint é uma restrição que pode ser definida em uma tabela para impor regras e limitações nos dados que estão sendo inseridos, atualizados ou excluídos. As constraints são usadas para garantir a integridade e consistência dos dados em uma tabela.

As principais constraints em SQL são:

  • NOT NULL: impede que um campo aceite valores nulos.
  • UNIQUE: impede que um campo contenha valores duplicados.
  • PRIMARY KEY: identifica exclusivamente cada linha em uma tabela.
  • FOREIGN KEY: estabelece uma relação entre duas tabelas, verificando a existência de valores correspondentes em ambas as tabelas.
  • CHECK: impõe uma condição específica para os valores em uma coluna.
  • DEFAULT: atribui um valor padrão para uma coluna quando nenhum valor é especificado.

24.

Como você exibe a hora e a data atuais com consultas SQL?

Dependendo do sistema de gerenciamento de banco de dados, as funções para exibir a data e a hora atuais podem variar, mas geralmente são semelhantes. Abaixo estão alguns exemplos de como fazer isso em diferentes sistemas de gerenciamento de banco de dados:

  • MySQL: SELECT NOW();
  • PostgreSQL: SELECT CURRENT_TIMESTAMP;
  • SQL Server: SELECT GETDATE();
  • Oracle: SELECT SYSDATE FROM DUAL;

25.

Como criar uma tabela vazia a partir de uma existente?

Você pode criar uma tabela vazia a partir de uma existente usando a cláusula WHERE da instrução SELECT. Aqui está um exemplo:

CREATE TABLE nova_tabela AS

SELECT * FROM tabela_existente WHERE 1=0;

Neste exemplo, a cláusula WHERE garante que nenhum registro seja selecionado da tabela existente, criando assim uma tabela vazia com a mesma estrutura da tabela existente. A nova tabela será criada com o nome "nova_tabela", mas você pode escolher qualquer nome que desejar.

26.

Quais são as variáveis do SQL?

Na linguagem SQL, não existem variáveis no sentido tradicional de outras linguagens de programação. Em vez disso, os valores são referenciados diretamente em instruções SQL, ou podem ser armazenados em tabelas temporárias, variáveis de sessão ou variáveis de sistema.

Por exemplo, você pode criar uma variável de sessão em SQL Server usando o comando SET e o prefixo "@" antes do nome da variável:

SET @variavel = 'valor';

Você pode então usar essa variável em outras instruções SQL, como:

SELECT * FROM tabela WHERE coluna = @variavel;

27.

Como você recuperaria os 3 primeiros caracteres de uma string de caracteres?

Em SQL, para recuperar os primeiros caracteres de uma string, podemos usar a função LEFT(). Se queremos os três primeiros caracteres, basta usar a função com um argumento de comprimento de 3.

Segue uma query SQL como exemplo:

SELECT LEFT('exemplo', 3);

Neste caso, o resultado da operação será: exe.

28.

A linguagem SQL é a mesma em todos os bancos de dados?

Embora a maioria dos bancos de dados possua compatibilidade com SQL, as implementações específicas da linguagem podem variar entre diferentes sistemas de gerenciamento de banco de dados (DBMSs). Isso ocorre porque os fornecedores de DBMSs têm a liberdade de adicionar recursos e extensões à linguagem SQL para atender às necessidades específicas de seus produtos.

29.

O que é DML?

DML é a sigla para "Data Manipulation Language", que se refere a um conjunto de instruções em SQL (Structured Query Language) usadas para manipular dados em um banco de dados. As principais operações de DML são SELECT, INSERT, UPDATE e DELETE.

O comando SELECT é usado para recuperar dados de uma ou mais tabelas no banco de dados. O comando INSERT é usado para adicionar novos registros em uma tabela. O comando UPDATE é usado para modificar registros existentes em uma tabela. E o comando DELETE é usado para remover registros de uma tabela.

As instruções de DML são executadas no nível de linha, o que significa que elas afetam apenas as linhas individuais de uma tabela e não a estrutura da tabela como um todo (como acontece com as instruções de DDL).

30.

O que é DDL?

DDL significa Data Definition Language (Linguagem de Definição de Dados) e é um conjunto de comandos em SQL que são usados para definir, modificar e gerenciar a estrutura de objetos no banco de dados, como tabelas, índices, visões e procedimentos armazenados.

Os comandos DDL incluem CREATE (para criar objetos), ALTER (para modificar objetos existentes) e DROP (para excluir objetos). Esses comandos são usados pelos desenvolvedores e administradores de bancos de dados para definir a estrutura e o esquema do banco de dados, garantindo que os dados sejam armazenados de forma consistente e eficiente.

31.

Para que serve a PK (Primary Key) e FK (Foreign Key)?

PK (Primary Key) e FK (Foreign Key) são conceitos fundamentais no projeto de banco de dados relacionais e servem para estabelecer relações entre tabelas.

A Primary Key é um atributo ou conjunto de atributos que identifica unicamente cada registro em uma tabela. Ela é usada para garantir a integridade referencial da tabela, garantindo que cada registro seja único e não nulo. A Primary Key pode ser composta por uma ou várias colunas, e é usada como chave de acesso para outras tabelas.

A Foreign Key, por sua vez, é um atributo ou conjunto de atributos em uma tabela que faz referência a uma Primary Key em outra tabela. Ela é usada para estabelecer a relação entre duas tabelas, garantindo a integridade referencial. Quando uma tabela contém uma coluna com uma Foreign Key, esta coluna contém valores que correspondem às chaves primárias de outra tabela.

32.

Como fazer consulta em duas ou mais tabelas ao mesmo tempo?

Para consultar duas ou mais tabelas ao mesmo tempo em SQL, podemos usar a cláusula JOIN. Essa cláusula permite combinar dados de duas ou mais tabelas com base em uma coluna comum. Existem vários tipos de junções, incluindo INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL OUTER JOIN.

33.

O que é SQL Injection (injeção de SQL)?

SQL Injection (Injeção de SQL) é uma técnica maliciosa usada para explorar vulnerabilidades em aplicativos que se comunicam com bancos de dados através de comandos SQL. O objetivo é inserir código SQL malicioso em um aplicativo por meio de campos de entrada, como formulários da web, para executar operações não autorizadas no banco de dados. Isso pode permitir que um invasor obtenha informações confidenciais, modifique ou exclua dados, execute comandos maliciosos e até mesmo assuma o controle do sistema. A injeção de SQL pode ser evitada por meio de práticas de codificação seguras, como a validação de entradas, o uso de parâmetros de consulta, a limitação de permissões e o uso de firewalls de aplicativos.

34.

O que é um banco de dados?

Um banco de dados é um sistema de armazenamento eletrônico de dados estruturados ou não estruturados, que pode ser acessado, gerenciado e atualizado de forma rápida e eficiente. Ele é projetado para permitir que informações relevantes sejam armazenadas, organizadas e recuperadas de maneira fácil e segura. Os bancos de dados podem ser usados em uma ampla variedade de aplicações, desde aplicativos de desktop e móveis até sistemas empresariais e governamentais. Eles fornecem uma maneira eficiente de armazenar, recuperar, gerenciar e analisar grandes quantidades de dados.

35.

Para que serve o operador BETWEEN no SQL?

O operador BETWEEN no SQL é usado para selecionar valores dentro de um determinado intervalo. Ele é comumente usado em cláusulas WHERE em consultas SQL para filtrar registros que tenham um valor dentro de um determinado intervalo.

36.

Para que serve o operador IN no SQL?

O operador IN é usado para filtrar resultados em uma consulta SQL baseando-se em uma lista de valores. Ele costuma ser usado para comparar um valor com um conjunto de valores possíveis e retornar todas as linhas da tabela em que o valor correspondente a coluna estiver presente na lista especificada.

37.

Qual é a diferença entre os tipos de dados CHAR e VARCHAR2 em SQL?

Em SQL, o tipo de dados CHAR armazena uma string de comprimento fixo, enquanto o tipo de dados VARCHAR2 armazena uma string de comprimento variável.

O tipo de dados CHAR aloca uma quantidade fixa de espaço de armazenamento para cada valor de string, independentemente do tamanho real da string, o que significa que os valores de string armazenados em colunas CHAR sempre ocuparão o mesmo número de bytes. Isso torna o tipo de dados CHAR útil quando se trabalha com dados que têm um tamanho fixo, como CEPs ou números de telefone.

Por outro lado, o tipo de dados VARCHAR2 armazena apenas o número de bytes necessários para armazenar a string, mais um byte para armazenar a informação do tamanho da string. Isso significa que os valores de string armazenados em colunas VARCHAR2 podem ter comprimentos variáveis. Logo, o tipo de dados VARCHAR2 é útil quando se trabalha com dados que variam em tamanho, como textos ou descrições.

38.

O que é um Cursor em SQL?

Em SQL, um cursor é um recurso que permite percorrer um conjunto de resultados retornados por uma consulta e manipular esses resultados um por um. Um cursor é semelhante a um ponteiro em outras linguagens de programação, permitindo que o desenvolvedor percorra os resultados de uma consulta, linha por linha, e execute operações em cada linha.

Os cursores são especialmente úteis quando o conjunto de resultados é muito grande ou quando o resultado precisa ser manipulado de forma complexa, uma linha de cada vez. No entanto, eles também podem ser menos eficientes do que outras técnicas para lidar com conjuntos de resultados grandes, e podem levar a problemas de desempenho se mal utilizados. Por essa razão, os cursores devem ser usados com cuidado e apenas quando necessário.

39.

Quais são os diferentes operadores disponíveis no SQL?

Existem vários operadores disponíveis no SQL, incluindo:

  1. Operadores Aritméticos: Usados para realizar operações matemáticas em valores numéricos. Exemplos incluem +, -, *, /, %.
  2. Operadores de Comparação: Usados para comparar dois valores ou expressões e retornar um resultado booleano (verdadeiro ou falso). Exemplos incluem =, <>, >, <, >=, <=.
  3. Operadores Lógicos: Usados para combinar expressões e retornar um resultado booleano. Exemplos incluem AND, OR, NOT.
  4. Operadores de Concatenação: Usados para concatenar duas ou mais strings ou valores. O operador de concatenação padrão no SQL é o símbolo de barra vertical ( | ) ou dois pontos ( : ).
  5. Operadores de Bitwise: Usados para realizar operações em nível de bit em valores binários. Exemplos incluem &, |, ^, ~, <<, >>.
  6. Operadores de Conjunto: Usados para comparar valores em dois ou mais conjuntos de dados. Exemplos incluem UNION, INTERSECT, EXCEPT.
  7. Operadores LIKE: Usados para fazer correspondência de padrões em strings. O operador LIKE usa caracteres curinga, como % (corresponde a zero ou mais caracteres) e _ (corresponde a um único caractere).

Esses são apenas alguns exemplos dos operadores disponíveis no SQL. Lembre-se que cada banco de dados SQL pode ter sua própria implementação de operadores e funções específicas.

40.

O que é um gatilho (trigger)?

Um gatilho (trigger) em SQL é um tipo de objeto de banco de dados que é acionado automaticamente em resposta a uma ação específica que ocorre no banco de dados, como uma alteração nos dados em uma tabela.

Ele é uma forma de definir um conjunto de instruções SQL que são executadas automaticamente quando ocorre uma ação específica. Isso pode ser útil para manter a integridade dos dados, executar uma ação em resposta a uma alteração no banco de dados ou realizar uma verificação adicional antes de permitir que uma operação seja concluída.

41.

O que são os comandos UNION, MINUS e INTERACT em SQL?

Os comandos UNION, MINUS e INTERSECT são comandos de conjuntos em SQL que operam em duas ou mais consultas SELECT para combinar ou comparar seus resultados.

  • UNION: o comando UNION combina o resultado de duas ou mais consultas SELECT em um único resultado. O resultado da união não inclui duplicatas, ou seja, se duas consultas retornam o mesmo registro, ele será exibido apenas uma vez no resultado da união.
  • MINUS: o comando MINUS, também conhecido como EXCEPT em alguns bancos de dados, retorna todas as linhas da primeira consulta que não estão presentes na segunda consulta.
  • INTERSECT: o comando INTERSECT retorna todos os registros que estão presentes em ambas as consultas SELECT.

42.

O que é o comando ALIAS em SQL?

O comando ALIAS em SQL é usado para fornecer um nome alternativo para uma tabela ou uma coluna em uma consulta SQL. É útil quando se deseja dar um nome mais descritivo a uma tabela ou coluna, ou quando a tabela ou coluna tem um nome longo ou complexo que dificulta a leitura da consulta.

43.

O que é DROP no SQL?

Em SQL, o comando DROP é usado para excluir um objeto de um banco de dados, como uma tabela, índice, view ou procedimento armazenado. Ao executar um comando DROP, todos os dados associados a esse objeto serão perdidos permanentemente, portanto, é importante ter cuidado ao usar essa instrução. O comando DROP é uma das instruções mais poderosas do SQL, pois permite que você remova objetos inteiros do banco de dados com uma única instrução.

44.

Qual operador é usado em queries para pattern matching no SQL?

O operador usado em queries para pattern matching no SQL é o LIKE. Ele é usado para encontrar valores em uma coluna que correspondam a um padrão específico, que pode incluir caracteres especiais como % (que representa zero ou mais caracteres) e _ (que representa um único caractere).

45.

Para que servem as instruções AND e OR no SQL? Dê um exemplo.

As instruções SQL AND e OR são usadas para filtrar resultados em uma cláusula WHERE, combinando diferentes condições.

A cláusula AND retorna registros que atendem a todas as condições. A cláusula OR retorna registros que atendem a pelo menos uma das condições.

Suponha uma tabela "alunos" com colunas "nome", "idade" e "nota". Para recuperar alunos com idade maior ou igual a 18 e nota maior ou igual a 7.0, use AND:

SELECT * FROM alunos
WHERE idade >= 18 AND nota >= 7.0;

Agora, para recuperar alunos com idade maior ou igual a 18 ou com nota maior ou igual a 7.0, use OR:

SELECT * FROM alunos
WHERE idade >= 18 OR nota >= 7.0;

Isso retornará todos os registros da tabela alunos que atendem a pelo menos uma das condições especificadas na cláusula WHERE.

46.

Por que usamos o comando Commit e Rollback em SQL?

Os comandos COMMIT e ROLLBACK são usados em SQL para garantir a integridade e consistência dos dados em um banco de dados transacional.

O comando COMMIT é usado para confirmar as transações em um banco de dados. Quando uma transação é confirmada, todas as alterações feitas durante essa transação são permanentes e não podem ser desfeitas. A confirmação da transação é importante porque garante que todas as alterações feitas durante a transação sejam concluídas com sucesso antes de serem permanentemente salvas no banco de dados.

Já o comando ROLLBACK é usado para desfazer uma transação que não foi concluída com sucesso ou que foi interrompida devido a um erro. Quando um ROLLBACK é executado, todas as alterações feitas durante a transação são desfeitas e o banco de dados retorna ao seu estado anterior à transação.

47.

O que é T-SQL?

T-SQL (Transact-SQL) é uma linguagem de programação desenvolvida pela Microsoft e usada para gerenciar dados em bancos de dados do Microsoft SQL Server. O T-SQL é uma extensão do SQL padrão com recursos adicionais que permitem aos usuários acessar, modificar, inserir e excluir dados, além de executar outras operações no banco de dados. O T-SQL suporta recursos como variáveis, controle de fluxo, tratamento de erros e funções definidas pelo usuário, o que o torna uma linguagem de programação poderosa para trabalhar com bancos de dados. Ele é frequentemente usado em aplicativos empresariais para processamento de dados complexos e criação de relatórios.

48.

Qual é a necessidade de uma declaração MERGE em SQL?

A declaração MERGE é usada para combinar dados de várias tabelas em uma única tabela de destino. A necessidade de uma declaração MERGE surge quando é necessário atualizar ou inserir dados em uma tabela com base nos dados de outra tabela. Em outras palavras, a declaração MERGE é usada para sincronizar dados entre duas tabelas.

49.

O que é ETL em SQL?

ETL (Extract, Transform, Load) é um processo comum em bancos de dados e sistemas de data warehousing que envolve extrair dados de uma ou mais fontes, transformá-los em um formato adequado para análise e carregá-los em um destino, como um data warehouse ou um sistema de BI.

A fase Extract envolve a obtenção de dados de uma ou mais fontes, como bancos de dados relacionais, arquivos, APIs ou serviços da web. A fase de Transform envolve a limpeza e preparação dos dados extraídos, como filtrar, agregar, normalizar ou aplicar cálculos. A fase Load envolve a inserção dos dados preparados em um destino, como uma tabela em um banco de dados ou um data warehouse.

O objetivo geral do ETL é criar um conjunto de dados limpos, padronizados e organizados que possam ser usados para análise, relatórios e tomada de decisões. É um processo crítico para muitas empresas que dependem de dados para suas operações e estratégias.

50.

O que é CASE WHEN no SQL?

CASE WHEN é uma expressão condicional no SQL que permite avaliar uma condição e retornar um resultado com base em diferentes valores.

A sintaxe básica do CASE WHEN é a seguinte:

CASE

WHEN condição1 THEN resultado1

WHEN condição2 THEN resultado2

ELSE resultadoPadrao

END

Essa expressão avalia cada condição na ordem em que elas são escritas até encontrar uma que seja verdadeira. Quando uma condição é verdadeira, o resultado correspondente é retornado. Se nenhuma condição for verdadeira, o resultado padrão (definido pelo ELSE) é retornado.

51.

O que é COALESCE() e ISNULL() e qual é a diferença entre eles?

Tanto COALESCE() quanto ISNULL() são funções usadas para lidar com valores nulls em SQL, mas há uma diferença importante entre elas.

A função ISNULL() é usada para substituir um valor nulo por outro valor especificado. Se o valor passado para a função for nulo, ela retornará o segundo parâmetro especificado. Caso contrário, retornará o valor original.

A função COALESCE(), por outro lado, permite que você passe vários valores e retorna o primeiro valor não nulo da lista. Se todos os valores forem nulos, ela retorna NULL.

Portanto, a principal diferença entre ISNULL() e COALESCE() é que a primeira substitui um valor null por outro valor especificado, enquanto a segunda retorna o primeiro valor não nulo de uma lista de valores passados.

Cansado de entrevistar candidatos em busca dos melhores desenvolvedores?

Contrate talentosos desenvolvedores pré-selecionados em 4 dias.

Contrate Agora

Conclusão

Agora que você já viu algumas perguntas e respostas em entrevistas de emprego SQL, basta seguir o mesmo padrão caso queira se preparar ainda mais. Porém, esteja ciente de que sua entrevista SQL não terá apenas perguntas técnicas. Além das perguntas técnicas exigidas em uma entrevista de trabalho, o recrutador ou recrutadora também se concentrará em abordar uma variedade de habilidades interpessoais, como colaboração em equipe, gerenciamento de projetos, gerenciamento de tempo, etc. Essas perguntas relacionadas a competências sociais são indispensáveis para garantir a contratação do melhor candidato para a vaga de emprego. Além disso, não deixe de treinar o seu inglês para poder se comunicar claramente e expandir sua carreira internacionalmente.

Se você é um talentoso desenvolvedor SQL e está em busca de uma vaga de trabalho online, inscreva-se na Turing. Faça o teste ainda hoje e fique elegível para trabalhar com uma das principais empresas dos EUA recebendo um salário em dólar! Já se você é uma empresa que gostaria de montar sua equipe dos sonhos e está em busca de desenvolvedores SQL, junte-se à Turing e torne-se boundaryless.

Contrate desenvolvedores SQL do nível do Vale do Silício por metade do custo

A Turing ajuda empresas a encontrarem os mais talentosos desenvolvedores SQL de todo o mundo em questão de dias. Expanda sua equipe de desenvolvimento com desenvolvedores SQL pré-selecionados apertando um só botão.

Contrate desenvolvedores

Contrate desenvolvedores SQL do nível do Vale do Silício por metade do custo

Contrate e gerencie desenvolvedores remotos

Nos conte as habilidades que você precisa e encontraremos o melhor desenvolvedor para você em alguns dias, não em semanas.