Principais perguntas e respostas da entrevista do SQL Server [para calouros 2022]
Publicados: 2021-01-04Vejamos algumas das perguntas mais frequentes em uma entrevista baseada no SQL Server. Também incluiremos exemplos de consultas SQL junto com as perguntas e respostas da entrevista SQL sempre que necessário.
Perguntas e respostas da entrevista do SQL Server
Pergunta 1: O que é SQL?
SQL ou Structured Query Language é a linguagem de programação de computador padrão usada para gerenciar e organizar Sistemas de Gerenciamento de Banco de Dados Relacionais (RDBMS). Ele é usado para armazenar, manipular e acessar os dados armazenados, ou seja, comunicar-se com bancos de dados relacionais. Os RDBMSs mais populares usam SQL e isso inclui SQL Server, MySQL e Oracle.
Qualquer unidade de execução ou instrução em SQL é conhecida como consulta. Uma consulta SQL pode ser usada para criar, selecionar ou modificar dados.
Nos sistemas de gerenciamento de banco de dados relacional, um arquivo organizado de dados é armazenado na forma de tabelas. Cada tabela consiste em colunas e linhas.
Pergunta 2: Qual é a consulta SQL para criar um banco de dados no SQL Server?

Um banco de dados em SQL é uma coleção organizada de dados que pode consistir em tabelas, funções de código, esquemas, etc. Um programador pode criar esse banco de dados ou manipulá-lo usando várias linguagens de consulta.
Para criar um novo banco de dados no servidor SQL, o seguinte comando SQL é usado:
CREATE DATABASE DatabaseName
Leia: Perguntas de entrevista de pilha completa
Pergunta 3: Como uma tabela é criada em SQL?
Uma tabela é um objeto em SQL que permite aos usuários armazenar e recuperar dados. Esses dados são armazenados em uma tabela e cada tabela é composta por colunas e linhas.
Para criar uma nova tabela no servidor SQL, o seguinte comando SQL é usado:
Criar tabela TableName (tipo de dados columnName1, tipo de dados columnName2 )
Pergunta 4: O que é um SQL Profiler?
O SQL Profiler é um meio para um administrador de sistema acompanhar os eventos no servidor SQL. É usado principalmente para a análise dos arquivos de dados capturados e salvos de um evento.
Pergunta 5: Explique com um exemplo o que é um procedimento armazenado recursivo.
Os procedimentos armazenados recursivos no SQL Server não precisam ser chamados. Ele chama por si mesmo até que uma condição de contorno seja alcançada. Um nível máximo de aninhamento de 32 é possível com procedimentos armazenados. Isso é conhecido como recursão.
Usando o procedimento armazenado recursivo, um programador pode usar o mesmo lote de código por n vezes.
Para citar um exemplo, se você precisar expandir um relacionamento de árvore ou calcular o algoritmo fatorial, poderá usar a reversão em procedimentos armazenados. Aqui está um exemplo de como calcular o fatorial de um número.
CRIAR PROCEDIMENTO [dbo].[Factorial_ap]
(
@Número Inteiro,
@RetVal Integer SAÍDA
)
COMO
DECLARAR @Inteiro
DECLARE @Out Integer
SE @Número != 1
COMEÇAR
SELECIONE @In = @Number – 1
EXEC Factorial_ap @In, @Out OUTPUT
SELECT @RetVal = @Number * @Out
FIM
OUTRO
COMEÇAR
SELECT @RetVal = 1
FIM
RETORNA
IR
Pergunta 6: O que Liste as diferenças entre tabelas temporárias locais e globais.
A visibilidade das tabelas temporárias locais dura enquanto houver uma conexão. Depois que a conexão é fechada, o servidor exclui automaticamente essas tabelas.
As tabelas temporárias locais são indicadas por # antes do nome da tabela.
A sintaxe para criar uma tabela temporária local é:
CRIAR TABELA #<nome da tabela>
(
tipo de dados coluna1 [ NULL | NÃO NULO ],
tipo de dados coluna2 [ NULL | NÃO NULO ],
…
);
As tabelas temporárias globais são acessíveis e visíveis para todos os usuários. O SQL Server os exclui assim que a sessão do SQL Server termina. Isso acontece quando cada tabela de referência de usuário se desconecta da sessão.
As tabelas temporárias locais são indicadas usando ## antes do nome da tabela
A sintaxe para criar uma tabela temporária global é
CRIAR TABELA ##<nome da tabela>
(
tipo de dados coluna1 [ NULL | NÃO NULO ],
tipo de dados coluna2 [ NULL | NÃO NULO ],
…
);
Pergunta 7: Explique a correspondência de padrões em SQL?
A correspondência de padrões em SQL permite que os programadores usem o sinal de sublinhado (_) com a finalidade de corresponder a um único caractere. Também permite usar o sinal de porcentagem (%) para corresponder a um número arbitrário de caracteres. Isso também inclui qualquer caractere zero. Deve-se notar que os padrões SQL não diferenciam maiúsculas de minúsculas no MySQL.

Pergunta 8: O que é um gatilho? Quantos tipos de gatilhos existem?
Os gatilhos são um tipo especial de procedimento armazenado usado para verificar um lote de código SQL. Eles são executados ou “disparados” automaticamente quando os dados de uma tabela são modificados.
Existem dois tipos de gatilhos. Eles estão:
- Linguagem de Manipulação de Dados (DML) e
- Linguagem de definição de dados (DDL)
Quando uma dessas consultas é usada para modificar dados, um conjunto de comandos é acionado. Com eventos de comando DML, Insert, Delete, Update e Instead of são acionados. Com DDL, os gatilhos Create, Alter e Drop são acionados.
Leia também: Perguntas e respostas da entrevista PHP
Pergunta 9: Defina COALESCE?
A primeira expressão não nula dentro dos argumentos de uma função é retornada usando COALESCE. Ele pode ler uma ou mais colunas em seus argumentos para verificar uma expressão não nula.
A sintaxe é –
Selecione COALESCE (emp_num, emp_name, salário) do funcionário;
Pergunta 10. O que é CDC?
Um recurso do SQL Server 2008, o CDC ou Change Data Capture pode ser usado para capturar os dados que foram modificados recentemente.
Pergunta 11: Quais são as consultas utilizadas para obter a contagem do número de registros em uma tabela SQL?
Podemos obter a contagem de registros em uma tabela usando as seguintes consultas:
Selecione * de <tablename>
Selecione contagem(*) de <tablename>
Selecione linhas de sysindexes onde id=OB
JECT_ID(tablename) e indid<2
Pergunta 12: Indique a diferença entre as funções SUBSTR e CHARINDEX no SQL Server?
A função SUBSTR retorna a parte especificada de uma string conforme instruído pelo programador. A função CHARINDEX, por outro lado, é usada para retornar a posição de um caractere especificado em uma determinada string.
Por exemplo:
SUBSTRING('Maçã',1,4)
– A saída será Appl
CHARINDEX('l', 'Maçã',1)
– A saída será 4, pois o caractere l está na 4ª posição na string especificada
Pergunta 13: O que é injeção de SQL?
SQL Injection é uma das vulnerabilidades do banco de dados onde um servidor SQL é atacado por usuários usando um código malicioso que é inserido dentro das strings de um código. A intenção é enviar a análise e execução do código malicioso. Mesmo os parâmetros estão em risco de ataque, portanto, todas as instruções precisam ser revisadas quanto a vulnerabilidades.
Pergunta 14: Quais são os métodos que podem ser usados para evitar um ataque de injeção de SQL?
Os quatro métodos a seguir podem ser empregados para proteger um servidor SQL de um ataque de injeção de SQL:
– Como os parâmetros correm um risco menor de ataque de injeção de SQL, é recomendável usá-los para procedimentos armazenados.
– É uma boa medida para filtrar parâmetros de entrada.
– A coleta de parâmetros com SQL dinâmico pode ser usada.
– Faça uso de caracteres de escape em cláusulas Like.
Pergunta 15: Indique os dois modos de autenticação no SQL Server. Como eles podem ser alterados?
Os dois modos de autenticação no SQL Server são:
– Modo Windows
- Modo misto
Nas configurações do SQL Server, na Página de Segurança, há um menu de ferramentas para alterar os modos.

Pergunta 16: Quais são os diferentes tipos de comandos em um banco de dados SQL?
Resposta: Existem quatro tipos de comandos no SQL Server. Eles são categorizados como:
- Linguagem de definição de dados (DDL)
- Linguagem de Controle de Dados Linguagem de Controle de Transações (TCL) Linguagem de Controle de Transações (TCL)
- Linguagem de manipulação de dados (DML)
- Linguagem de controle de transações (TCL)
Obtenha o curso de desenvolvimento de software das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Conclusão
Esperamos que nosso guia de perguntas e respostas do SQL Server seja útil. Estaremos atualizando o guia regularmente para mantê-lo atualizado.
Se você estiver interessado em aprender mais sobre SQL, desenvolvimento de pilha completa, confira o Programa PG Executivo do upGrad e IIIT-B em Desenvolvimento de Software de pilha completa, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos, e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.
