As 50 principais perguntas e respostas da entrevista SQL (atualização de 2021)

SQL significa Structured Query Language é uma linguagem de programação específica de domínio para gerenciar os dados em sistemas de gerenciamento de banco de dados. Habilidades de programação SQL são altamente desejáveis ​​e exigidas no mercado, pois há um uso massivo de Database Management Systems (DBMS) em quase todos os aplicativos de software. Para conseguir um emprego, os candidatos precisam decifrar a entrevista na qual são feitas várias perguntas da entrevista SQL.

A seguir está uma lista com curadoria de perguntas e respostas da entrevista SQL, que provavelmente serão feitas durante a entrevista SQL. Os candidatos provavelmente receberão perguntas básicas da entrevista SQL para avançar as perguntas SQL de nível, dependendo de sua experiência e de vários outros fatores. A lista a seguir cobre todas as perguntas da entrevista SQL para caloiros, bem como perguntas da entrevista SQL para candidatos de nível experiente e algumas perguntas da entrevista de consulta SQL.

Arquivo PDF de perguntas da entrevista do SQL: Faça o download aqui

Perguntas e respostas mais frequentes da entrevista SQL para novatos e experientes

1. O que é DBMS?

Um Database Management System (DBMS) é um programa que controla a criação, manutenção e uso de um banco de dados. O DBMS pode ser denominado como Gerenciador de Arquivos, que gerencia os dados em um banco de dados, em vez de salvá-los em sistemas de arquivos.

2. O que é RDBMS?

RDBMS significa Relational Database Management System. O RDBMS armazena os dados na coleção de tabelas, que está relacionada por campos comuns entre as colunas da tabela. Ele também fornece operadores relacionais para manipular os dados armazenados nas tabelas.

Exemplo: SQL Server.

3. O que é SQL?

SQL significa Structured Query Language e é usado para se comunicar com o banco de dados. Esta é uma linguagem padrão usada para realizar tarefas como recuperação, atualização, inserção e exclusão de dados de um banco de dados.

Os comandos SQL padrão são Select.

4. O que é um banco de dados?

O banco de dados nada mais é do que uma forma organizada de dados para fácil acesso, armazenamento, recuperação e gerenciamento de dados. Isso também é conhecido como forma estruturada de dados que pode ser acessada de várias maneiras.

Exemplo: Banco de dados de gerenciamento escolar, Banco de dados de gerenciamento bancário.

5. O que são tabelas e campos?

Uma tabela é um conjunto de dados que são organizados em um modelo com Colunas e Linhas. As colunas podem ser categorizadas como verticais e as linhas como horizontais. Uma tabela tem um número especificado de colunas chamadas de campos, mas pode ter qualquer número de linhas que é chamado de registro.

Exemplo:.

Tabela: Funcionário.

Campo: ID Emp, Nome Emp, Data de Nascimento.

Data: 201456, David, 15/11/1960.

6. O que é uma chave primária?

Uma chave primária é uma combinação de campos que especificam exclusivamente uma linha. Este é um tipo especial de chave exclusiva e possui uma restrição NOT NULL implícita. Isso significa que os valores da chave primária não podem ser NULL.

7. O que é uma chave exclusiva?

Uma restrição de chave única identificou exclusivamente cada registro no banco de dados. Isso fornece exclusividade para a coluna ou conjunto de colunas.

Uma restrição de chave primária possui uma restrição única automática definida nela. Mas não, no caso da Chave Única.

Pode haver muitas restrições exclusivas definidas por tabela, mas apenas uma restrição de chave primária definida por tabela.

8. O que é uma chave estrangeira?

Uma chave estrangeira é uma tabela que pode ser relacionada à chave primária de outra tabela. O relacionamento precisa ser criado entre duas tabelas fazendo referência à chave estrangeira com a chave primária de outra tabela.

9. O que é uma associação?

Esta é uma palavra-chave usada para consultar dados de mais tabelas com base na relação entre os campos das tabelas. As chaves desempenham um papel importante quando os JOINs são usados.

10. Quais são os tipos de junção e explique cada um?

Existem vários tipos de junção que podem ser usados ​​para recuperar dados e isso depende do relacionamento entre as tabelas.

  • Junção interna.

Linhas de retorno de junção interna quando há pelo menos uma correspondência de linhas entre as tabelas.

  • Junte-se à direita.

Linhas de retorno de junção à direita que são comuns entre as tabelas e todas as linhas da tabela do lado direito. Simplesmente, ele retorna todas as linhas da tabela do lado direito, embora não haja correspondências na tabela do lado esquerdo.

  • Associação à esquerda.

Linhas de retorno de junção à esquerda que são comuns entre as tabelas e todas as linhas da tabela do lado esquerdo. Simplesmente, ele retorna todas as linhas da tabela do lado esquerdo, embora não haja correspondências na tabela do lado direito.

  • Full Join.

Linhas de retorno de junção completa quando há linhas correspondentes em qualquer uma das tabelas. Isso significa que ele retorna todas as linhas da tabela do lado esquerdo e todas as linhas da tabela do lado direito.

11. O que é normalização?

Normalização é o processo de minimizar a redundância e a dependência organizando campos e tabelas de um banco de dados. O objetivo principal da Normalização é adicionar, excluir ou modificar campos que podem ser feitos em uma única tabela.

12. O que é desnormalização.

A desnormalização é uma técnica usada para acessar os dados de formas normais superiores para inferiores de banco de dados. É também o processo de introdução de redundância em uma tabela, incorporando dados das tabelas relacionadas.

13. Quais são todas as diferentes normalizações?

Os formulários normais podem ser divididos em 5 formulários, e são explicados a seguir -.

  • Primeira forma normal (1NF) :.

Isso deve remover todas as colunas duplicadas da tabela. Criação de tabelas para os dados relacionados e identificação de colunas exclusivas.

  • Segunda forma normal (2NF) :.

Atendendo a todos os requisitos do primeiro formulário normal. Colocando os subconjuntos de dados em tabelas separadas e Criação de relacionamentos entre as tabelas usando chaves primárias.

  • Terceira forma normal (3NF) :.

Isso deve atender a todos os requisitos de 2NF. Removendo as colunas que não dependem de restrições de chave primária.

  • Quarta forma normal (4NF) :.

Atende a todos os requisitos da terceira forma normal e não deve ter dependências com vários valores.

14. O que é uma visualização?

Uma visão é uma tabela virtual que consiste em um subconjunto de dados contidos em uma tabela. As visualizações não estão virtualmente presentes e ocupa menos espaço para armazenar. O modo de exibição pode ter dados de uma ou mais tabelas combinadas e depende do relacionamento.

15. O que é um índice?

Um índice é um método de ajuste de desempenho que permite a recuperação mais rápida de registros da tabela. Um índice cria uma entrada para cada valor e será mais rápido recuperar os dados.

16. Quais são os diferentes tipos de índices?

Existem três tipos de índices -.

  • Índice exclusivo.

Essa indexação não permite que o campo tenha valores duplicados se a coluna for indexada de forma exclusiva. O índice exclusivo pode ser aplicado automaticamente quando a chave primária é definida.

  • Índice agrupado.

Este tipo de índice reordena a ordem física da tabela e pesquisa com base nos valores-chave. Cada tabela pode ter apenas um índice clusterizado.

  • Índice não agrupado.

O índice não agrupado não altera a ordem física da tabela e mantém a ordem lógica dos dados. Cada tabela pode ter 999 índices não clusterizados.

17. O que é um Cursor?

Um Cursor de banco de dados é um controle que permite percorrer as linhas ou registros da tabela. Isso pode ser visto como um ponteiro para uma linha em um conjunto de linhas. O cursor é muito útil para percorrer, como recuperação, adição e remoção de registros de banco de dados.

18. O que é relacionamento e o que são?

O relacionamento com o banco de dados é definido como a conexão entre as tabelas em um banco de dados. Existem vários relacionamentos de base de dados, e são os seguintes :.

  • Relacionamento um para um.
  • Relacionamento de um para muitos.
  • Relacionamento muitos para um.
  • Relacionamento de autorreferência.

19. O que é uma consulta?

Uma consulta ao banco de dados é um código escrito para obter as informações do banco de dados. A consulta pode ser projetada de forma que corresponda à nossa expectativa do conjunto de resultados. Simplesmente, uma pergunta ao Banco de Dados.

20. O que é subconsulta?

Uma subconsulta é uma consulta dentro de outra consulta. A consulta externa é chamada de consulta principal e a consulta interna é chamada de subconsulta. A subconsulta é sempre executada primeiro e o resultado da subconsulta é passado para a consulta principal.

21. Quais são os tipos de subconsulta?

Existem dois tipos de subconsulta - Correlacionada e Não Correlacionada.

Uma subconsulta correlacionada não pode ser considerada uma consulta independente, mas pode referir-se à coluna em uma tabela listada na lista DE da consulta principal.

Uma subconsulta não correlacionada pode ser considerada como uma consulta independente e os resultados da subconsulta são substituídos na consulta principal.

22. O que é um procedimento armazenado?

Stored Procedure é uma função que consiste em várias instruções SQL para acessar o sistema de banco de dados. Diversas instruções SQL são consolidadas em um procedimento armazenado e as executam quando e onde necessário.

23. O que é um gatilho?

Um gatilho de banco de dados é um código ou programas que são executados automaticamente em resposta a algum evento em uma tabela ou exibição em um banco de dados. Principalmente, o gatilho ajuda a manter a integridade do banco de dados.

Exemplo: Quando um novo aluno é adicionado ao banco de dados de alunos, novos registros devem ser criados nas tabelas relacionadas, como tabelas de Exame, Pontuação e Presença.

24. Qual é a diferença entre os comandos DELETE e TRUNCATE?

O comando DELETE é usado para remover linhas da tabela, e a cláusula WHERE pode ser usada para um conjunto condicional de parâmetros. A consolidação e reversão podem ser executadas após a instrução de exclusão.

TRUNCATE remove todas as linhas da tabela. A operação de truncar não pode ser revertida.

25. O que são variáveis ​​locais e globais e suas diferenças?

Variáveis ​​locais são as variáveis ​​que podem ser usadas ou existem dentro da função. Elas não são conhecidas pelas outras funções e essas variáveis ​​não podem ser referenciadas ou usadas. As variáveis ​​podem ser criadas sempre que essa função for chamada.

Variáveis ​​globais são as variáveis ​​que podem ser usadas ou existem em todo o programa. A mesma variável declarada em global não pode ser usada em funções. Variáveis ​​globais não podem ser criadas sempre que essa função é chamada.

26. O que é uma restrição?

A restrição pode ser usada para especificar o limite do tipo de dados da tabela. A restrição pode ser especificada ao criar ou alterar a instrução da tabela. Amostra de restrição são.

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

27. O que é integridade de dados?

Integridade de dados define a precisão e consistência dos dados armazenados em um banco de dados. Ele também pode definir restrições de integridade para impor regras de negócios aos dados quando eles são inseridos no aplicativo ou banco de dados.

28. O que é incremento automático?

A palavra-chave de incremento automático permite ao usuário criar um número exclusivo a ser gerado quando um novo registro é inserido na tabela. A palavra-chave AUTO INCREMENT pode ser usada no Oracle e a palavra-chave IDENTITY pode ser usada no SQL SERVER.

Geralmente, esta palavra-chave pode ser usada sempre que PRIMARY KEY é usado.

29. Qual é a diferença entre Cluster e Non-Cluster Index?

O índice agrupado é usado para fácil recuperação de dados do banco de dados, alterando a maneira como os registros são armazenados. O banco de dados classifica as linhas pela coluna que é definida como índice de cluster.

Um índice não clusterizado não altera a maneira como foi armazenado, mas cria um objeto separado completo dentro da tabela. Ele aponta de volta para as linhas originais da tabela após a pesquisa.

30. O que é Datawarehouse?

Datawarehouse é um repositório central de dados de várias fontes de informação. Esses dados são consolidados, transformados e disponibilizados para a mineração e processamento online. Os dados de warehouse têm um subconjunto de dados chamado Data Marts.

31. O que é Self-Join?

A auto-junção é definida para ser a consulta usada para comparar a si mesma. Isso é usado para comparar valores em uma coluna com outros valores na mesma coluna na mesma tabela. ALIAS ES pode ser usado para a mesma comparação de tabela.

32. O que é Cross-Join?

A junção cruzada define como produto cartesiano onde o número de linhas na primeira tabela é multiplicado pelo número de linhas na segunda tabela. Se supor que a cláusula WHERE é usada na junção cruzada, a consulta funcionará como um INNER JOIN.

33. O que são funções definidas pelo usuário?

As funções definidas pelo usuário são as funções escritas para usar essa lógica sempre que necessário. Não é necessário escrever a mesma lógica várias vezes. Em vez disso, a função pode ser chamada ou executada sempre que necessário.

34. Quais são todos os tipos de funções definidas pelo usuário?

São três tipos de funções definidas pelo usuário.

  • Funções escalares.
  • Funções com valor de tabela embutida.
  • Funções com valor de instruções múltiplas.

Unidade de retorno escalar, variante definiu a cláusula de retorno. Outros dois tipos retornam a tabela como um retorno.

35. O que é agrupamento?

O agrupamento é definido como um conjunto de regras que determinam como os dados do caractere podem ser classificados e comparados. Isso pode ser usado para comparar A e, outros caracteres do idioma e também depende da largura dos caracteres.

O valor ASCII pode ser usado para comparar esses dados de caracteres.

36. Quais são todos os diferentes tipos de sensibilidade de agrupamento?

A seguir estão diferentes tipos de sensibilidade de agrupamento -.

  • Sensibilidade ao caso - A e a e B e b.
  • Sensibilidade de sotaque.
  • Sensibilidade de Kana - caracteres japoneses Kana.
  • Sensibilidade de largura - caractere de byte único e caractere de byte duplo.

37. Vantagens e desvantagens do procedimento armazenado?

O procedimento armazenado pode ser usado como uma programação modular - significa criar uma vez, armazenar e chamar várias vezes sempre que necessário. Isso suporta uma execução mais rápida em vez de executar várias consultas. Isso reduz o tráfego da rede e oferece melhor segurança aos dados.

A desvantagem é que ele pode ser executado apenas no Banco de Dados e utiliza mais memória no servidor de banco de dados.

38. O que é processamento de transações online (OLTP)?

O OLTP (Online Transaction Processing) gerencia aplicativos baseados em transações que podem ser usados ​​para entrada e recuperação de dados e processamento de dados. OLTP torna o gerenciamento de dados simples e eficiente. Ao contrário dos sistemas OLAP, o objetivo dos sistemas OLTP é atender às transações em tempo real.

Exemplo - transações bancárias diárias.

39. O que é CLÁUSULA?

A cláusula SQL é definida para limitar o conjunto de resultados, fornecendo uma condição para a consulta. Isso geralmente filtra algumas linhas de todo o conjunto de registros.

Exemplo - consulta que tem a condição WHERE

Consulta que possui condição HAVING.

40. O que é procedimento armazenado recursivo?

Um procedimento armazenado que chama sozinho até atingir alguma condição de limite. Essa função ou procedimento recursivo ajuda os programadores a usar o mesmo conjunto de código qualquer número de vezes.

41. O que são os comandos Union, minus e Interact?

O operador UNION é usado para combinar os resultados de duas tabelas e elimina linhas duplicadas das tabelas.

O operador MINUS é usado para retornar linhas da primeira consulta, mas não da segunda consulta. Os registros correspondentes da primeira e da segunda consulta e outras linhas da primeira consulta serão exibidos como um conjunto de resultados.

O operador INTERSECT é usado para retornar linhas retornadas por ambas as consultas.

42. O que é um comando ALIAS?

O nome ALIAS pode ser atribuído a uma tabela ou coluna. Este nome alternativo pode ser referido na cláusula WHERE para identificar a tabela ou coluna.

Exemplo-.

Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID

Aqui, st refere-se ao apelido da mesa do aluno e Ex refere-se ao apelido da mesa de exame.

43. Qual é a diferença entre as instruções TRUNCATE e DROP?

TRUNCATE remove todas as linhas da tabela e não pode ser revertido. O comando DROP remove uma tabela do banco de dados e a operação não pode ser revertida.

44. O que são funções agregadas e escalares?

Funções agregadas são usadas para avaliar cálculos matemáticos e retornar valores únicos. Isso pode ser calculado a partir das colunas de uma tabela. As funções escalares retornam um único valor com base no valor de entrada.

Exemplo -.

Agregado - máx (), contagem - Calculado em relação ao numérico.

Escalar - UCASE (), NOW () - Calculado em relação a strings.

45. Como você pode criar uma tabela vazia a partir de uma tabela existente?

O exemplo será -.

Select * into studentcopy from student where 1=2

Aqui, estamos copiando a tabela do aluno para outra tabela com a mesma estrutura, sem linhas copiadas.

46. ​​Como obter registros comuns de duas tabelas?

O conjunto de resultados de registros comuns pode ser alcançado por -.

Select studentID from student INTERSECT Select StudentID from Exam

47. Como obter registros alternativos de uma tabela?

Os registros podem ser obtidos para números de linha pares e ímpares -.

Para exibir números pares-.

Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0

Para exibir números ímpares-.

Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1

from (Selecione rowno, studentId do aluno) onde mod (rowno, 2) = 1. [/ sql]

48. Como selecionar registros únicos de uma tabela?

Selecione registros exclusivos de uma tabela usando a palavra-chave DISTINCT.

Select DISTINCT StudentID, StudentName from Student.

49. Qual é o comando usado para buscar os primeiros 5 caracteres da string?

Existem muitas maneiras de obter os primeiros 5 caracteres da string -.

Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student

50. Qual operador é usado na consulta para correspondência de padrões?

O operador LIKE é usado para correspondência de padrões e pode ser usado como -.

  1. % - Corresponde a zero ou mais caracteres.
  2. _ (Sublinhado) - Correspondendo a exatamente um caractere.

Exemplo -.

Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'