19 Deve ler perguntas e respostas da entrevista SQL: para iniciantes e experientes em 2022

Publicados: 2021-01-07

Perguntas e respostas da entrevista SQL

Preocupado com sua entrevista? Nós cobrimos você para suas perguntas da entrevista SQL. Estas são algumas das perguntas mais frequentes em Sql Interviews.
Independentemente da função que você escolher no setor de software e TI, as habilidades em SQL são obrigatórias. Ainda hoje, o RDBMS é um dos bancos de dados mais usados ​​em todo o mundo e, portanto, o SQL é uma parte indispensável do domínio de desenvolvimento. Grandes nomes como Uber, Netflix, Airbnb e, claro, Microsoft usam o SQL como sua principal ferramenta de gerenciamento de banco de dados.

A razão pela qual o SQL é imensamente popular hoje é que ele suporta uma série de processamento de transações, aplicativos de análise e operações de inteligência de negócios em ambientes corporativos de TI.

Neste post, ajudaremos você a começar com o básico do SQL. É por isso que criamos uma lista das perguntas de entrevista SQL mais comuns. Espero que as perguntas da entrevista SQL ajudem você em suas entrevistas. Essas perguntas da entrevista SQL oferecerão uma ideia relativamente boa dos conceitos fundamentais do SQL e como você deve proceder com ele.

Principais perguntas e respostas da entrevista SQL

1. Defina SQL.

SQL ou Structured Query Language é um sistema de gerenciamento de banco de dados relacional criado pela Microsoft. Ele é explicitamente projetado para se comunicar com os bancos de dados. ANSI (American National Standards Institute) sustenta que SQL é a linguagem de consulta padrão para Sistemas de Gerenciamento de Banco de Dados Relacionais (RDBMS).

Ele não é usado apenas para manter o RDBMS, mas também para executar uma ampla variedade de outras operações de manipulação de dados em diferentes tipos de dados. Por exemplo, o SQL é usado para criar bancos de dados, criar tabelas em um banco de dados, recuperar dados de um banco de dados, atualizar tabelas em um banco de dados, executar consultas e assim por diante.

Leia mais: SQL para ciência de dados: por que SQL

2. Defina o Banco de Dados.

Banco de dados refere-se a uma forma estruturada de dados que são armazenados de forma organizada em um computador para facilitar seu acesso, armazenamento, recuperação e gerenciamento de dados. Um banco de dados é essencialmente uma coleção de esquemas, tabelas, consultas, visualizações, etc.

3. Como o RDBMS é diferente do DBMS?

O RDBMS ou Relational Database Management System é diferente do DBMS no sentido de que o RDBMS armazena dados como uma coleção de tabelas onde você pode definir as relações entre os campos comuns das tabelas, enquanto que no DBMS não é possível fazê-lo.

Ao contrário do RDBMS que armazena dados em forma de tabela, o DBMS funciona mais como um Gerenciador de Arquivos que armazena os dados em um banco de dados em vez de salvá-los em um sistema de arquivos.

O RDBMS é a base para muitos sistemas modernos de gerenciamento de banco de dados, como MySQL, Microsoft SQL Server, Oracle, IBM DB2 e Amazon Redshift.

4. Defina Restrições.

No SQL, as restrições são usadas para especificar o limite do tipo de dados de uma tabela ou declarar as regras referentes aos dados em uma tabela do banco de dados. As restrições podem ser especificadas para campos únicos e múltiplos em uma tabela SQL, durante a criação de uma tabela ou após criá-la usando o comando ALTER TABLE.

Algumas das restrições no SQL são:

  • NÃO NULO
  • VERIFICA
  • PREDEFINIÇÃO
  • EXCLUSIVO
  • CHAVE PRIMÁRIA
  • CHAVE ESTRANGEIRA

5. Defina – Chave Primária, Chave Única e Chave Estrangeira.

Uma chave primária é uma combinação de campos que ajuda a especificar uma linha de forma exclusiva. Uma chave primária deve ter valores exclusivos e também contém uma restrição NOT NULL implícita, o que significa que uma chave primária não pode ter valores NULL.

Uma restrição de chave exclusiva é usada para garantir que todos os valores em uma coluna sejam diferentes. Ele ajuda a identificar cada registro em um banco de dados de forma exclusiva. Ao contrário da chave primária (há apenas uma chave primária definida por tabela), pode haver várias restrições exclusivas definidas por tabela.

Uma chave estrangeira consiste em um único ou coleção de campos em uma tabela que pode ser usada para se referir à chave primária de outra tabela. Essa chave ajuda a manter a integridade referencial na relação entre duas tabelas. Enquanto a tabela que contém a restrição de chave estrangeira é conhecida como tabela filho, a tabela que contém a chave candidata é rotulada como tabela pai.

6. Defina Junção. Quais são os diferentes tipos de Join?

Join é uma cláusula SQL projetada para combinar registros ou linhas de duas ou mais tabelas com base em uma coluna relacionada entre elas. Join atua como uma palavra-chave usada para consultar dados de mais tabelas com base no relacionamento entre os campos das tabelas. Eles são usados ​​principalmente para recuperar dados. No entanto, a recuperação de dados depende em grande parte do relacionamento entre as tabelas.

Existem quatro tipos de junção:

  • Inner Join – Isso é usado para retornar registros ou linhas que contêm pelo menos um valor correspondente entre as tabelas.
  • Right Join – Isso retorna linhas que são uma correspondência comum entre as tabelas e todas as outras linhas que estão na tabela do lado direito. Simplificando, a junção direita retorna todas as linhas da tabela do lado direito, independentemente do fato de não haver correspondência disponível na tabela do lado esquerdo.
  • Junção Esquerda – Assim como a junção à direita, a junção à esquerda retorna linhas que são comuns entre as tabelas e todas as linhas que estão na tabela do lado esquerdo, mesmo se não houver correspondência disponível na tabela do lado direito.
  • Full Join – Essa junção retorna linhas quando qualquer tabela única consiste em linhas correspondentes. Em outras palavras, ele cria um conjunto contendo o resultado da junção direita e da junção esquerda. Portanto, o conjunto de resultados inclui todas as linhas das tabelas do lado esquerdo e do lado direito.

7. O que é um Índice? Nomeie os diferentes tipos de índices.

No SQL, um índice é um método de ajuste de desempenho que permite a recuperação mais rápida de registros de tabelas. Eles aceleram o processo de busca no banco de dados – um índice cria uma entrada para cada valor, tornando a recuperação de dados mais rápida.

Os índices são usados ​​para localizar linhas que correspondem a algumas colunas, percorrendo apenas os subconjuntos dos dados para encontrar as correspondências corretas.

Existem três tipos de índices:

  • Índice exclusivo – esse índice garante que não haja duas linhas de dados em uma tabela com valores de chave idênticos, mantendo assim a integridade dos dados. Você pode aplicar automaticamente um índice exclusivo ao definir a chave primária.
  • Índice clusterizado – esse índice ajuda a reordenar ou reorganizar a ordem física de uma tabela e a pesquisa com base nos valores de chave. Nesse índice, a ordem das linhas contidas no banco de dados corresponde à ordem das linhas no índice. É por isso que uma tabela pode ter apenas um índice clusterizado.
  • Índice não clusterizado – esse índice mantém a ordem lógica dos dados. Ele é usado para criar uma entidade separada dentro da tabela que se refere à tabela original. Uma tabela pode ter vários índices não clusterizados.

8. O que é AUTO_INCREMENT?

AUTO_INCREMENT é usado para gerar automaticamente um número único sempre que um novo registro é adicionado ou inserido em uma tabela. Como uma tabela tem apenas uma chave primária, essa chave primária é adicionada como o campo AUTO_INCREMENT que ajuda a incrementar o campo sempre que um novo registro é adicionado.

Por padrão, o valor AUTO-INCREMENT começa em 1 e é incrementado em 1 sempre que um novo registro é inserido.

9. Defina Consulta e Subconsulta.

Uma consulta é um código escrito para solicitar ou recuperar dados de uma tabela de banco de dados ou de várias tabelas. Uma consulta pode ser uma consulta de ação ou uma consulta de seleção.

Uma subconsulta, por outro lado, é uma consulta dentro de outra consulta. Também é conhecida como consulta interna ou consulta aninhada. Uma subconsulta é usada para restringir ou aprimorar os dados que devem ser consultados pela consulta principal, restringindo ou aprimorando o resultado da consulta principal. Normalmente, uma subconsulta é executada primeiro e o resultado é passado para a consulta principal.

Existem dois tipos de subconsultas:

  • Subconsulta correlacionada – Esta subconsulta não é uma consulta independente. No entanto, ele pode se referir à coluna em uma tabela listada no FROM da consulta principal.
  • Subconsulta não correlacionada – Esta é uma consulta independente e sua saída é substituída na consulta principal.

10. Defina o Acionador.

Um gatilho é um código ou programa armazenado que é executado automaticamente quando ocorrem eventos como a instrução INSERT, DELETE, UPDATE(DML). Eles também podem ser executados como resposta a instruções de definição de dados (DDL) e operações de banco de dados como gatilhos SERVER ERROR, LOGON, etc. ajudam a manter a integridade do banco de dados.

11. Explique o papel das propriedades ACID em uma transação.

As propriedades ACID são seguidas para manter a consistência em um banco de dados antes e depois das transações.

  • Atomicidade – Isso implica que uma transação deve ser concluída. Não deve ser deixado no meio do caminho. Se alguma vez uma transação falhar, toda a transação falhará e o banco de dados permanecerá inalterado.
  • Consistência – Busca manter as restrições de integridade validando os dados inseridos em um banco de dados.
  • Isolamento – Esta propriedade tem como objetivo controlar a simultaneidade.
  • Durabilidade – Essa propriedade garante que, uma vez que uma transação seja concluída, ela permaneça confirmada apesar de quaisquer desafios que possam surgir (por exemplo, perda de energia, erros internos, etc.).

12. Diferencie os comandos DELETE e TRUNCATE.

A principal diferença entre os comandos DELETE e TRUNCATE é a seguinte:

  • Enquanto o comando DELETE é usado para excluir ou remover uma ou mais tabelas existentes, o comando TRUNCATE exclui todos os dados de dentro de uma tabela.
  • DELETE é um comando DML, enquanto TRUNCATE é um comando DDL.
  • DELETE permite que você realize um gatilho, mas TRUNCATE não permite que você execute e acione.
  • O comando TRUNCATE não funciona quando as restrições de chave estrangeira fazem referência a uma tabela. Nesses casos, você deve usar o comando DELETE.

13. Nomeie os diferentes subconjuntos de SQL.

Os subconjuntos de SQL incluem:

  • DDL (Data Definition Language) – Essa linguagem permite que você execute uma série de operações no banco de dados, incluindo comandos SQL como objetos CREATE, ALTER e DELETE.
  • DML (Data Manipulation Language) – Essa linguagem permite acessar e manipular os dados em um banco de dados usando comandos como INSERT, UPDATE e DELETE.
  • DCL (Data Control Language) – Essa linguagem permite controlar o acesso ao banco de dados usando comandos como GRANT e REVOKE.

Leia: As 9 principais ferramentas de ciência de dados em 2020

14. Explique a integridade dos dados.

A integridade dos dados define a precisão, consistência e confiabilidade dos dados armazenados no banco de dados. Além disso, ajuda a definir restrições de integridade para impor regras de negócios nos dados quando eles são inseridos em um banco de dados ou aplicativo.

A integridade dos dados é de quatro tipos:

  • Integridade da linha
  • Integridade da coluna
  • Integridade referencial
  • Integridade definida pelo usuário

15. Quais são as funções definidas pelo usuário? Nomeie os tipos de Funções definidas pelo usuário.

Funções definidas pelo usuário são funções que são especialmente escritas para usar lógica específica conforme e quando necessário. Essas funções eliminam a necessidade de escrever a mesma lógica várias vezes; em vez disso, você pode chamar ou executar uma função definida pelo usuário sempre que necessário.

Existem três tipos de funções definidas pelo usuário:

  • Funções escalares.
  • Funções com valor de tabela inline.
  • Funções com valor de instrução múltipla.

16. Defina Agrupamento. Nomeie os diferentes tipos de sensibilidade de agrupamento.

Agrupamento refere-se a uma coleção de regras que determinam como os dados de caracteres são classificados e comparados. Além de definir a sequência de caracteres correta para classificar os dados de caracteres, ele incorpora opções para especificar a distinção entre maiúsculas e minúsculas, acentos, tipos de caracteres kana e também a largura dos caracteres.

Os diferentes tipos de sensibilidade de agrupamento incluem:

  • Diferenciação de maiúsculas e minúsculas – Os caracteres 'A' e 'a' são tratados de forma diferente.
  • Sensibilidade do acento – Os caracteres 'a' e ' a' são tratados de forma diferente.
  • Sensibilidade Kana – Isso trata os caracteres Kana japoneses como Hiragana e Katakana de maneira diferente.
  • Sensibilidade de largura – trata o caractere de byte único (meia largura) e o caractere de byte duplo (largura total) de maneira diferente.

17. O que você entende por Stored Procedure?

Um procedimento armazenado é uma sub-rotina (código SQL) usada para aplicativos que acessam RDBMS. Ele suporta o conceito de programação modular, o que significa que você pode criar um procedimento armazenado uma vez e salvá-lo e chamá-lo várias vezes conforme e quando necessário.

Esses procedimentos são armazenados no dicionário de dados do banco de dados. A vantagem de um procedimento armazenado é que ele permite uma execução de consulta mais rápida. Isso não apenas reduz o tráfego de rede, mas também oferece melhor segurança aos dados.

Outra vantagem é que os procedimentos armazenados vêm com funcionalidade adicional, pois os usuários que não podem acessar os dados diretamente podem usar os procedimentos armazenados para obter acesso.

No entanto, também tem uma desvantagem – um procedimento armazenado pode ser executado apenas em um banco de dados, geralmente ocupando mais memória no servidor de banco de dados.

18. Diferencie entre Views e Tables.

Aqui estão alguns pontos de diferença entre visualizações e tabelas:

  • As visualizações referem-se a uma tabela virtual extraída de um banco de dados, enquanto uma tabela refere-se a uma entidade estruturada contendo um número limitado de colunas e um número infinito de linhas.
  • As exibições não podem armazenar dados por si mesmas, enquanto as tabelas contêm dados e os armazenam em bancos de dados.
  • As visualizações permitem consultar informações específicas contidas em algumas tabelas distintas. No entanto, uma tabela contém informações fundamentais do cliente junto com casos de objetos caracterizados.

19. Definir Tabela Temporária. Como você pode criar um?

Uma tabela temporária é uma tabela que permite armazenar e processar resultados intermediários. Essas tabelas podem ser excluídas automaticamente quando não são mais usadas. As tabelas temporárias são úteis para situações em que você precisa armazenar dados temporários.

A sintaxe para criar uma tabela temporária é:

CRIAR TABELA #table_name();

A consulta abaixo criará uma tabela temporária:

criar tabela #book(b_id int, b_cost int)

Agora, vamos inserir os registros.

inserir em #book values(1.100)

inserir em #book values(2.232)

selecione * de #book

Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Empacotando

Esperamos que este guia de perguntas e respostas da entrevista SQL o ajude a fortalecer e expandir sua base de conhecimento SQL.

Se você está curioso para aprender sobre SQL e mais sobre desenvolvimento de pilha completa, confira o Programa PG Executivo do IIIT-B & upGrad em Desenvolvimento de Software Full Stack, criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, práticas práticas workshops, orientação com especialistas do setor, 1-on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

PG Diploma em Desenvolvimento de Software Full Stack

Inscreva-se agora para o Programa PG Executivo em Desenvolvimento Full Stack