top 90 sql interview questions
90 perguntas e respostas da entrevista SQL mais populares:
Essas são as perguntas da entrevista SQL mais comuns e úteis para caloiros, bem como para candidatos experientes. Noções básicas para conceitos avançados de SQL são abordadas neste artigo.
Consulte essas perguntas para uma revisão rápida dos principais conceitos de SQL antes de comparecer para uma entrevista.
Melhores perguntas da entrevista SQL
Vamos começar.
P # 1) O que é SQL?
Responda: Structured Query Language SQL é uma ferramenta de banco de dados usada para criar e acessar o banco de dados para oferecer suporte a aplicativos de software.
P # 2) O que são tabelas em SQL?
Responda: A tabela é uma coleção de registros e suas informações em uma única visualização.
P # 3) Quais são os diferentes tipos de instruções suportados pelo SQL?
Responda:
Existem 3 tipos de instruções SQL:
a) DDL (linguagem de definição de dados): É usado para definir a estrutura do banco de dados, como tabelas. Inclui três instruções, como CREATE, ALTER e DROP.
Leia também = >> Tutorial de criação de tabela MySQL
Alguns dos comandos DDL estão listados abaixo:
CRIAR : É usado para criar a mesa.
CREATE TABLE table_name column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size),
IDADE: A tabela ALTER é usada para modificar o objeto de tabela existente no banco de dados.
ALTER TABLE table_name ADD column_name datatype
OU
ALTER TABLE table_name DROP COLUMN column_name
b) DML (Linguagem de Manipulação de Dados): Essas instruções são usadas para manipular os dados nos registros. As instruções DML comumente usadas são INSERT, UPDATE e DELETE.
A instrução SELECT é usada como uma instrução DML parcial, usada para selecionar todos os registros relevantes na tabela.
c) DCL (Linguagem de Controle de Dados): Essas instruções são usadas para definir privilégios, como GRANT e REVOKE, permissão de acesso ao banco de dados para o usuário específico .
P # 4) Como usamos a instrução DISTINCT? Qual é o seu uso?
Responda: A instrução DISTINCT é usada com a instrução SELECT. Se o registro contiver valores duplicados, a instrução DISTINCT será usada para selecionar valores diferentes entre os registros duplicados.
Sintaxe:
SELECT DISTINCT column_name(s) FROM table_name;
P # 5) Quais são as diferentes cláusulas usadas no SQL?
Responda:
Cláusula WHERE: Esta cláusula é usada para definir a condição, extrair e exibir apenas os registros que cumprem a condição dada.
Sintaxe:
SELECT column_name(s) FROM table_name WHERE condition;
Cláusula GROUP BY: É usado com a instrução SELECT para agrupar o resultado da consulta executada usando o valor especificado nela. Ele corresponde ao valor com o nome da coluna nas tabelas e agrupa o resultado final de acordo.
Leitura adicional => Grupo MySQL por tutorial
Sintaxe:
SELECT column_name(s) FROM table_name GROUP BY column_name;
Cláusula HAVING: Esta cláusula é usada em associação com a cláusula GROUP BY. É aplicado a cada grupo de resultados ou ao resultado inteiro como um único grupo. É muito semelhante à cláusula WHERE, mas a única diferença é que você não pode usá-la sem a cláusula GROUP BY
Sintaxe:
SELECT column_name(s) FROM table_name GROUP BY column_name HAVING condition;
Cláusula ORDER BY: Esta cláusula é usada para definir a ordem da saída da consulta em ordem crescente (ASC) ou decrescente (DESC). Ascendente (ASC) é definido como padrão, mas descendente (DESC) é definido explicitamente.
Sintaxe:
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
Cláusula USING: A cláusula USING é usada ao trabalhar com SQL JOIN. É usado para verificar a igualdade com base nas colunas quando as tabelas são unidas. Ela pode ser usada no lugar da cláusula ON em JOIN.
Sintaxe:
SELECT column_name(s) FROM table_name JOIN table_name USING (column_name);
P # 6) Por que usamos restrições SQL? Quais restrições podemos usar ao criar um banco de dados em SQL?
Responda: As restrições são usadas para definir as regras para todos os registros da tabela. Se alguma restrição for violada, ele pode abortar a ação que a causou.
As restrições são definidas durante a criação do próprio banco de dados com a instrução CREATE TABLE ou mesmo após a tabela ser criada uma vez com a instrução ALTER TABLE.
Existem 5 restrições principais usadas em SQL, como
- NÃO NULO: Isso indica que a coluna deve ter algum valor e não pode ser deixada com NULL.
- ÚNICO: Essa restrição é usada para garantir que cada linha e coluna tenha um valor único e nenhum valor seja repetido em qualquer outra linha ou coluna.
- CHAVE PRIMÁRIA: Essa restrição é usada em associação com as restrições NOT NULL e UNIQUE, como em uma ou a combinação de mais de uma coluna para identificar o registro específico com uma identidade exclusiva.
- CHAVE ESTRANGEIRA: É usado para garantir a integridade referencial dos dados na tabela. Corresponde o valor de uma tabela a outra usando a PRIMARY KEY.
- VERIFICA: Ele garante se o valor nas colunas atende à condição especificada.
P # 7) Quais são os diferentes JOINS usados no SQL?
Responda:
Quatro tipos principais de junções são usados ao trabalhar em várias tabelas em bancos de dados SQL:
JUNÇÃO INTERNA: Também é conhecido como SIMPLE JOIN, que retorna todas as linhas de AMBAS as tabelas quando tem pelo menos uma coluna correspondente.
Sintaxe:
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON column_name1=column_name2;
Por exemplo,
Neste exemplo, temos uma mesa Empregado com os seguintes dados:
O nome da segunda tabela é Entrando.
Insira a seguinte instrução SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee INNER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Haverá 4 registros selecionados. Os resultados são:
Empregado e Pedidos as tabelas têm uma correspondência Identificação do Cliente valor.
LEFT JOIN (LEFT OUTER JOIN): Esta junção retorna todas as linhas da tabela LEFT e suas linhas correspondentes de uma tabela RIGHT .
Sintaxe:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON column_name1=column_name2;
Por exemplo,
Neste exemplo, temos uma mesa Empregado com os seguintes dados:
O nome da segunda tabela é Entrando.
o melhor aplicativo espião de celular
Insira a seguinte instrução SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee LEFT OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Haverá 4 registros selecionados. Você verá os seguintes resultados:
RIGHT JOIN (RIGHT OUTER JOIN): Esta junção retorna todas as linhas da tabela RIGHT e suas linhas correspondentes da tabela LEFT .
Sintaxe:
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON column_name1=column_name2;
Por exemplo,
Neste exemplo, temos uma mesa Empregado com os seguintes dados:
O nome da segunda tabela é Entrando.
Insira a seguinte instrução SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee RIGHT JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Resultado:
Emp_id | Data de ingresso |
---|---|
E0012 | 18/04/2016 |
E0013 | 19/04/2016 |
E0014 | 01/05/2016 |
FULL JOIN (FULL OUTER JOIN): Esta junção retorna todos os resultados quando há uma correspondência na tabela RIGHT ou na tabela LEFT .
Sintaxe:
SELECT column_name(s) FROM table_name1 FULL OUTER JOIN table_name2 ON column_name1=column_name2;
Por exemplo,
Neste exemplo, temos uma mesa Empregado com os seguintes dados:
O nome da segunda tabela é Entrando.
Insira a seguinte instrução SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee FULL OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Haverá 8 registros selecionados. Estes são os resultados que você deve ver.
PARA lso ler => MySQL Join Tutorial
P # 8) O que são transações e seus controles?
Responda: Uma transação pode ser definida como a tarefa de sequência que é executada em bancos de dados de maneira lógica para obter certos resultados. Operações como criação, atualização e exclusão de registros realizadas no banco de dados vêm de transações.
Em palavras simples, podemos dizer que uma transação significa um grupo de consultas SQL executadas nos registros do banco de dados.
Existem 4 controles de transação, como
- COMPROMETER-SE : É usado para salvar todas as alterações feitas durante a transação.
- ROLLBACK : É usado para reverter a transação. Todas as alterações feitas pela transação são revertidas e o banco de dados permanece como antes.
- DEFINIR A TRANSAÇÃO : Defina o nome da transação.
- SALVAR PONTO: É usado para definir o ponto onde a transação deve ser revertida.
Q # 9) Quais são as propriedades da transação?
Responda: As propriedades da transação são conhecidas como propriedades ACID. Esses são:
- Atomicidade : Garante a integridade de todas as transações realizadas. Verifica se todas as transações foram concluídas com sucesso ou não. Caso contrário, a transação é abortada no ponto de falha e a transação anterior é revertida para seu estado inicial conforme as alterações são desfeitas.
- Consistência : Garante que todas as alterações feitas por meio de transações bem-sucedidas sejam refletidas corretamente no banco de dados.
- Isolamento : Garante que todas as transações sejam realizadas independentemente e as alterações feitas por uma transação não sejam refletidas nas outras.
- Durabilidade : Garante que as alterações feitas no banco de dados com transações confirmadas persistem, mesmo após uma falha do sistema.
P # 10) Quantas funções Aggregate estão disponíveis no SQL?
Responda: As funções SQL Aggregate determinam e calculam valores de várias colunas em uma tabela e retornam um único valor.
Existem 7 funções agregadas no SQL:
- AVG (): Retorna o valor médio das colunas especificadas.
- CONTAR(): Retorna o número de linhas da tabela.
- MAX (): Retorna o maior valor entre os registros.
- MIN (): Retorna o menor valor entre os registros.
- SOMA(): Retorna a soma dos valores da coluna especificada.
- PRIMEIRO(): Retorna o primeiro valor.
- ÚLTIMO(): Retorna o último valor.
Q # 11) O que são funções escalares em SQL?
Responda: As funções escalares são usadas para retornar um único valor com base nos valores de entrada.
As funções escalares são as seguintes:
- UCASE (): Converte o campo especificado em maiúsculas.
- LCASE (): Converte o campo especificado em minúsculas.
- MID (): Extrai e retorna o caractere do campo de texto.
- FORMATO(): Especifica o formato de exibição.
- LEN (): Especifica o comprimento do campo de texto.
- REDONDO(): Arredonda o valor do campo decimal para um número.
Q # 12) O que são gatilhos ?
Responda: Triggers em SQL são um tipo de procedimento armazenado usado para criar uma resposta a uma ação específica executada na tabela, como INSERT, UPDATE ou DELETE. Você pode chamar gatilhos explicitamente na tabela do banco de dados.
Ação e evento são dois componentes principais dos gatilhos SQL. Quando certas ações são executadas, o evento ocorre em resposta a essa ação.
Sintaxe:
CREATE TRIGGER name BEFORE (event (OR..)} ON table_name (FOR (EACH) ROW) EXECUTE PROCEDURE functionname {arguments}
P # 13) O que é Exibir no SQL?
Responda: Uma visão pode ser definida como uma tabela virtual que contém linhas e colunas com campos de uma ou mais tabelas.
S yntax:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
P # 14) Como podemos atualizar a visualização?
Responda: SQL CREATE e REPLACE podem ser usados para atualizar a visualização.
Execute a consulta abaixo para atualizar a visualização criada.
Sintaxe:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
P # 15) Explicar o funcionamento dos privilégios de SQL?
Responda: Os comandos SQL GRANT e REVOKE são usados para implementar privilégios em ambientes de vários usuários SQL. O administrador do banco de dados pode conceder ou revogar privilégios para ou de usuários de objetos de banco de dados usando comandos como SELECT, INSERT, UPDATE, DELETE, ALL, etc.
Comando GRANT : Este comando é usado para fornecer acesso ao banco de dados a usuários que não sejam o administrador.
Sintaxe:
GRANT privilege_name ON object_name TO PUBLIC (WITH GRANT OPTION);
Na sintaxe acima, a opção GRANT indica que o usuário pode conceder acesso a outro usuário também.
Comando REVOKE : Este comando é usado para negar ou remover o acesso aos objetos do banco de dados.
Sintaxe:
REVOKE privilege_name ON object_name FROM PUBLIC;
P # 16) Quantos tipos de privilégios estão disponíveis no SQL?
Responda: Existem dois tipos de privilégios usados em SQL, como
- Privilégio de sistema: O privilégio de sistema lida com o objeto de um tipo específico e fornece aos usuários o direito de executar uma ou mais ações nele. Essas ações incluem a execução de tarefas administrativas, ALTER ANY INDEX, ALTER ANY CACHE GROUP CRIAR / ALTER / DELETE TABLE, CREATE / ALTER / DELETE VIEW etc.
- Privilégio de objeto: Isso permite executar ações em um objeto ou objeto de outro (s) usuário (s) viz. tabela, visão, índices etc. Alguns dos privilégios do objeto são EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES etc.
Q # 17) O que é SQL Injection?
Responda: SQL Injection é um tipo de técnica de ataque a banco de dados em que instruções SQL maliciosas são inseridas em um campo de entrada do banco de dados de forma que, uma vez executado, o banco de dados seja exposto a um invasor para o ataque. Essa técnica geralmente é usada para atacar aplicativos orientados a dados para ter acesso a dados confidenciais e executar tarefas administrativas em bancos de dados.
Por exemplo,
SELECT column_name(s) FROM table_name WHERE condition;
P # 18) O que é SQL Sandbox no SQL Server?
Responda: O SQL Sandbox é um local seguro no ambiente do servidor SQL, onde scripts não confiáveis são executados. Existem 3 tipos de sandbox SQL:
- Sandbox de acesso seguro: Aqui, um usuário pode realizar operações SQL, como criar procedimentos armazenados, gatilhos, etc., mas não pode ter acesso à memória e também não pode criar arquivos.
- Sandbox de acesso externo: Os usuários podem acessar arquivos sem ter o direito de manipular a alocação de memória.
- Sandbox de acesso inseguro: Contém códigos não confiáveis onde um usuário pode ter acesso à memória.
P # 19) Qual é a diferença entre SQL e PL / SQL?
Responda: SQL é uma Structured Query Language para criar e acessar bancos de dados, enquanto PL / SQL vem com conceitos procedurais de linguagens de programação.
Q # 20) Qual é a diferença entre SQL e MySQL?
Responda: SQL é uma linguagem de consulta estruturada usada para manipular e acessar o banco de dados relacional. Por outro lado, o próprio MySQL é um banco de dados relacional que usa SQL como linguagem de banco de dados padrão.
Q # 21) Qual é o uso da função NVL?
Responda: A função NVL é usada para converter o valor nulo em seu valor real.
Q # 22) Qual é o produto cartesiano da mesa?
Responda: A saída de Cross Join é chamada de produto cartesiano. Ele retorna linhas combinando cada linha da primeira tabela com cada linha da segunda tabela. Por exemplo, se juntarmos duas tabelas com 15 e 20 colunas, o produto cartesiano de duas tabelas será 15 × 20 = 300 linhas.
P # 23) O que você quer dizer com subconsulta?
Responda: A consulta em outra consulta é chamada de Subconsulta. Uma subconsulta é chamada de consulta interna, que retorna a saída que deve ser usada por outra consulta.
P # 24) Quantos operadores de comparação de linha são usados ao trabalhar com uma subconsulta?
Responda: Existem operadores de comparação de 3 linhas que são usados em subconsultas como IN, ANY e ALL.
Q # 25) Qual é a diferença entre índices agrupados e não agrupados?
Resposta: As diferenças entre os dois são as seguintes:
- Uma tabela pode ter apenas um índice clusterizado, mas vários índices não clusterizados.
- Os índices agrupados podem ser lidos rapidamente, em vez de índices não agrupados.
- Os índices clusterizados armazenam dados fisicamente na tabela ou exibição, enquanto os índices não clusterizados não armazenam dados na tabela, pois têm uma estrutura separada da linha de dados.
Q # 26) Qual é a diferença entre DELETE e TRUNCATE?
Resposta: As diferenças são:
- A diferença básica em ambos é o comando DELETE é o comando DML e o comando TRUNCATE é DDL.
- O comando DELETE é usado para excluir uma linha específica da tabela, enquanto o comando TRUNCATE é usado para remover todas as linhas da tabela.
- Podemos usar o comando DELETE com a cláusula WHERE, mas não podemos usar o comando TRUNCATE com ela.
Q # 27) Qual é a diferença entre DROP e TRUNCATE?
Responda: TRUNCATE remove todas as linhas da tabela que não podem ser recuperadas, DROP remove a tabela inteira do banco de dados e também não pode ser recuperada.
Q # 28) Como escrever uma consulta para mostrar os detalhes de um aluno da tabela de alunos cujo
nome começa com K?
Resposta: Consulta:
SELECT * FROM Student WHERE Student_Name like ‘K%’;
Aqui, o operador 'like' é usado para realizar a correspondência de padrões.
P # 29) Qual é a diferença entre subconsulta aninhada e subconsulta correlacionada?
Responda: A subconsulta dentro de outra subconsulta é chamada de Subconsulta aninhada. Se a saída de uma subconsulta depender dos valores das colunas da tabela de consulta pai, a consulta será chamada de Subconsulta Correlacionada.
SELECT adminid(SELEC Firstname+' '+Lastname FROM Employee WHERE empid=emp. adminid)AS EmpAdminId FROM Employee;
O resultado da consulta são os detalhes de um funcionário da tabela Funcionário.
Q # 30) O que é normalização? Quantos formulários de normalização existem?
Responda: A normalização é usada para organizar os dados de forma que nunca ocorra redundância de dados no banco de dados e evite inserir, atualizar e excluir anomalias.
Existem 5 formas de normalização:
- Primeira forma normal (1NF): Ele remove todas as colunas duplicadas da tabela. Ele cria uma tabela para dados relacionados e identifica valores de coluna exclusivos.
- Primeira forma normal (2NF): Segue 1NF e cria e coloca subconjuntos de dados em uma tabela individual e define o relacionamento entre as tabelas usando a chave primária.
- Terceira forma normal (3NF): Segue 2NF e remove as colunas que não estão relacionadas com a chave primária.
- Quarta forma normal (4NF): Segue 3NF e não define dependências com vários valores. 4NF também é conhecido como BCNF.
P # 31) O que é um relacionamento? Quantos tipos de relacionamento existem?
Responda: O relacionamento pode ser definido como a conexão entre mais de uma tabela no banco de dados.
Existem 4 tipos de relacionamento:
- Relacionamento Um para Um
- Relacionamento Muitos para Um
- Relacionamento muitos para muitos
- Relacionamento de um para muitos
Q # 32) O que você quer dizer com procedimentos armazenados? Como o usamos?
Responda: Um procedimento armazenado é uma coleção de instruções SQL que podem ser usadas como uma função para acessar o banco de dados. Podemos criar esses procedimentos armazenados antes de usá-los e executá-los sempre que necessário, aplicando alguma lógica condicional a eles. Os procedimentos armazenados também são usados para reduzir o tráfego da rede e melhorar o desempenho.
Sintaxe:
CREATE Procedure Procedure_Name ( //Parameters ) AS BEGIN SQL statements in stored procedures to update/retrieve records END
Q # 33) Indique algumas propriedades dos bancos de dados relacionais?
Resposta: As propriedades são as seguintes:
- Em bancos de dados relacionais, cada coluna deve ter um nome exclusivo.
- A sequência de linhas e colunas em bancos de dados relacionais é insignificante.
- Todos os valores são atômicos e cada linha é única.
Q # 34) O que são gatilhos aninhados?
Responda: Os gatilhos podem implementar a lógica de modificação de dados usando instruções INSERT, UPDATE e DELETE. Esses gatilhos que contêm lógica de modificação de dados e localizam outros gatilhos para modificação de dados são chamados de gatilhos aninhados.
Q # 35) O que é um Cursor?
Responda: Um cursor é um objeto de banco de dados que é usado para manipular dados linha a linha.
O cursor segue as etapas fornecidas abaixo:
- Declare Cursor
- Cursor Aberto
- Recuperar linha do Cursor
- Processe a linha
- Fechar Cursor
- Desalocar Cursor
Q # 36) O que é agrupamento?
Responda: O agrupamento é um conjunto de regras que verifica como os dados são classificados comparando-os. Por exemplo, dados de caracteres são armazenados usando a sequência de caracteres correta junto com a diferenciação de maiúsculas e minúsculas, tipo e acento.
P # 37) O que precisamos verificar no teste de banco de dados?
Responda: No teste de banco de dados, o seguinte deve ser testado:
- Conectividade de banco de dados
- Verificação de restrição
- Campo de aplicação obrigatório e seu tamanho
- Recuperação e processamento de dados com operações DML
- Procedimentos armazenados
- Fluxo funcional
P # 38) O que é teste de caixa branca de banco de dados?
Responda: O teste da caixa branca do banco de dados envolve:
- Consistência do banco de dados e propriedades ACID
- Gatilhos de banco de dados e visualizações lógicas
- Cobertura de decisão, cobertura de condição e cobertura de declaração
- Tabelas de banco de dados, modelo de dados e esquema de banco de dados
- Regras de integridade referencial
P # 39) O que é teste de caixa preta de banco de dados?
Responda: O teste da caixa preta do banco de dados envolve:
- Mapeamento de Dados
- Dados armazenados e recuperados
- Uso de técnicas de teste de caixa preta, como particionamento de equivalência e análise de valor limite (BVA)
Q # 40) O que são índices em SQL?
Responda: O índice pode ser definido como a forma de recuperar os dados mais rapidamente. Podemos definir índices usando instruções CREATE.
Sintaxe:
CREATE INDEX index_name ON table_name (column_name)
Além disso, também podemos criar um índice exclusivo usando a seguinte sintaxe:
CREATE UNIQUE INDEX index_name ON table_name (column_name)
ATUALIZAR: Nós adicionamos mais algumas perguntas curtas para praticar.
P # 41) O que significa SQL?
Responda: SQL significa Linguagem de consulta estruturada .
Q # 42) Como selecionar todos os registros da tabela?
Responda: Para selecionar todos os registros da tabela, precisamos usar a seguinte sintaxe:
Select * from table_name;
Q # 43) Definir junção e nomear diferentes tipos de junções?
Responda: A palavra-chave Join é usada para buscar dados de duas ou mais tabelas relacionadas. Ele retorna linhas onde há pelo menos uma correspondência em ambas as tabelas incluídas na junção. Leia mais aqui .
Os tipos de junções são:
usando arrays em funções c ++
- Junção certa
- Junção externa
- Adesão completa
- Junção cruzada
- Auto-adesão.
Q # 44) Qual é a sintaxe para adicionar um registro a uma tabela?
Responda: Para adicionar um registro em uma tabela é usada a sintaxe INSERT.
Por exemplo,
INSERT into table_name VALUES (value1, value2..);
Q # 45) Como você adiciona uma coluna a uma tabela?
Responda: Para adicionar outra coluna à tabela, use o seguinte comando:
ALTER TABLE table_name ADD (column_name);
Leitura recomendada = >> Como fazer adicione uma coluna a uma tabela em MySQL
Q # 46) Defina a instrução SQL DELETE.
Responda: DELETE é usado para excluir uma linha ou linhas de uma tabela com base na condição especificada.
A sintaxe básica é a seguinte:
DELETE FROM table_name WHERE
Q # 47) Definir COMMIT?
Responda: COMMIT salva todas as alterações feitas por instruções DML.
Q # 48) Qual é a chave primária?
Responda: Uma chave primária é uma coluna cujos valores identificam exclusivamente cada linha em uma tabela. Os valores da chave primária nunca podem ser reutilizados.
Q # 49) O que são chaves estrangeiras?
Responda: Quando o campo de chave primária de uma tabela é adicionado a tabelas relacionadas a fim de criar o campo comum que relaciona as duas tabelas, ele é chamado de chave estrangeira em outras tabelas. As restrições de chave estrangeira impõem integridade referencial.
Q # 50) O que é a restrição CHECK?
Responda: Uma restrição CHECK é usada para limitar os valores ou tipo de dados que podem ser armazenados em uma coluna. Eles são usados para reforçar a integridade do domínio.
P # 51) É possível que uma tabela tenha mais de uma chave estrangeira?
Responda: Sim, uma tabela pode ter muitas chaves estrangeiras, mas apenas uma chave primária.
Q # 52) Quais são os valores possíveis para o campo de dados BOOLEAN?
Responda: Para um campo de dados BOOLEANO, dois valores são possíveis: -1 (verdadeiro) e 0 (falso).
Q # 53) O que é um procedimento armazenado?
Responda: Um procedimento armazenado é um conjunto de consultas SQL que podem receber entrada e enviar saída de volta.
Q # 54) O que é identidade em SQL?
Responda: Uma coluna de identidade em que o SQL gera automaticamente valores numéricos. Podemos definir um valor inicial e de incremento da coluna de identidade.
Q # 55) O que é normalização?
Responda: O processo de design da tabela para minimizar a redundância de dados é chamado de normalização. Precisamos dividir um banco de dados em duas ou mais tabelas e definir a relação entre eles.
Q # 56) O que é um gatilho?
Responda: O Trigger nos permite executar um lote de código SQL quando ocorre um evento de tabela (os comandos INSERT, UPDATE ou DELETE são executados em uma tabela específica).
Q # 57) Como selecionar linhas aleatórias de uma tabela?
Responda: Usando uma cláusula SAMPLE, podemos selecionar linhas aleatórias.
Por exemplo,
SELECT * FROM table_name SAMPLE(10);
Q # 58) Qual porta TCP / IP o SQL Server executa?
Responda: Por padrão, o SQL Server é executado na porta 1433.
Q # 59) Escreva uma consulta SQL SELECT que retorna cada nome apenas uma vez de uma tabela?
Responda: Para obter o resultado de cada nome apenas uma vez, precisamos usar a palavra-chave DISTINCT.
SELECT DISTINCT name FROM table_name;
P # 60) Explicar DML e DDL?
Responda: DML significa Linguagem de Manipulação de Dados. INSERT, UPDATE e DELETE são instruções DML.
DDL significa Linguagem de Definição de Dados. CREATE, ALTER, DROP, RENAME são instruções DDL.
P # 61) Podemos renomear uma coluna na saída da consulta SQL?
Responda: Sim, usando a seguinte sintaxe, podemos fazer isso.
SELECT column_name AS new_name FROM table_name;
Q # 62) Dê a ordem de SQL SELECT?
Responda: A ordem das cláusulas SQL SELECT é: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Apenas as cláusulas SELECT e FROM são obrigatórias.
Q # 63) Suponha que uma coluna Aluno tenha duas colunas, Nome e Marcas. Como obter nomes e notas dos três primeiros alunos.
Responda: SELECIONE o nome, marcas do aluno s1 onde 3<= (SELECT COUNT(*) FROM Students s2 WHERE s1.marks = s2.marks)
Q # 64) O que são comentários SQL?
Responda: Os comentários SQL podem ser inseridos adicionando dois hifens consecutivos (-).
Q # 65) Diferença entre os comandos TRUNCATE, DELETE e DROP?
Responda:
- EXCLUIR remove algumas ou todas as linhas de uma tabela com base na condição. Pode ser revertido.
- TRUNCAR remove TODAS as linhas de uma tabela desalocando as páginas de memória. A operação não pode ser revertida
- SOLTA comando remove uma tabela do banco de dados completamente.
Q # 66) Quais são as propriedades de uma transação?
Responda: Geralmente, essas propriedades são chamadas de propriedades ACID. Eles são:
- Atomicidade
- Consistência
- Isolamento
- Durabilidade.
Q # 67) O que você quer dizer com ROWID?
Responda: É uma pseudocoluna de 18 caracteres anexada a cada linha de uma tabela.
Q # 68) Defina UNION, MINUS, UNION ALL, INTERSECT?
Responda:
- MENOS - retorna todas as linhas distintas selecionadas pela primeira consulta, mas não pela segunda.
- UNIÃO - retorna todas as linhas distintas selecionadas por qualquer consulta
- UNION ALL - retorna todas as linhas selecionadas por qualquer consulta, incluindo todas as duplicatas.
- INTERSECT - retorna todas as linhas distintas selecionadas por ambas as consultas.
Q # 69) O que é uma transação?
Responda: Uma transação é uma sequência de código executada em um banco de dados. Leva o banco de dados de um estado consistente para outro.
P # 70) Qual é a diferença entre as restrições UNIQUE e PRIMARY KEY?
Resposta: As diferenças são as seguintes:
- Uma tabela pode ter apenas uma PRIMARY KEY, ao passo que pode haver qualquer número de chaves UNIQUE.
- A chave primária não pode conter valores nulos, enquanto a chave exclusiva pode conter valores nulos.
Q # 71) O que é uma chave primária composta?
Responda: A chave primária criada em mais de uma coluna é chamada de chave primária composta.
Q # 72) O que é um índice?
Responda: Um índice é uma estrutura especial associada a uma tabela para acelerar o desempenho das consultas. O índice pode ser criado em uma ou mais colunas de uma tabela.
Q # 73) O que é a subconsulta?
Responda: Uma subconsulta é um subconjunto de instruções select cujos valores de retorno são usados nas condições de filtragem da consulta principal.
Q # 74) O que você quer dizer com otimização de consulta?
Responda: A otimização de consulta é um processo no qual um sistema de banco de dados compara diferentes estratégias de consulta e seleciona a consulta de menor custo.
Q # 75) O que é agrupamento?
Responda: Conjunto de regras que definem como os dados são armazenados, como a diferenciação de maiúsculas e minúsculas e o caractere Kana podem ser tratados, etc.
Q # 76) O que é integridade referencial?
Responda: Conjunto de regras que restringem os valores de uma ou mais colunas das tabelas com base nos valores da chave primária ou chave única da tabela referenciada.
Q # 77) Qual é a função Case?
Responda: Case facilita o tipo de lógica if-then-else no SQL. Ele avalia uma lista de condições e retorna uma das várias expressões de resultado possíveis.
Q # 78) Definir uma tabela temporária?
Responda: Uma tabela temporária é uma estrutura de armazenamento temporário para armazenar os dados temporariamente.
Q # 79) Como podemos evitar a duplicação de registros em uma consulta?
Responda: Usando a palavra-chave DISTINCT, a duplicação de registros em uma consulta pode ser evitada.
Q # 80) Explique a diferença entre Renomear e Alias?
Responda: Renomear é um nome permanente dado a uma tabela ou coluna, enquanto Alias é um nome temporário dado a uma tabela ou coluna.
Q # 81) O que é uma visualização?
Responda: Uma visão é uma tabela virtual que contém dados de uma ou mais tabelas. As visualizações restringem o acesso aos dados da tabela selecionando apenas os valores necessários e facilitam as consultas complexas.
Q # 82) Quais são as vantagens do Views?
Resposta: As vantagens das visualizações são:
- As visualizações restringem o acesso aos dados porque podem exibir colunas seletivas da tabela.
- As visualizações podem ser usadas para fazer consultas simples para recuperar os resultados de consultas complicadas. Por exemplo, visualizações podem ser usadas para consultar informações de várias tabelas sem que o usuário saiba.
Q # 83) Liste os vários privilégios que um usuário pode conceder a outro usuário?
Responda: SELECIONE, CONECTE, RECURSOS.
Q # 84) O que é esquema?
Responda: Um esquema é uma coleção de objetos de banco de dados de um usuário.
Q # 85) O que é uma mesa?
Responda: Uma tabela é a unidade básica de armazenamento de dados no sistema de gerenciamento de banco de dados. Os dados da tabela são armazenados em linhas e colunas.
Q # 86) A visualização contém dados?
Responda: Não, as visualizações são estruturas virtuais.
Q # 87) Uma visão pode ser baseada em outra visão?
Responda: Sim, uma visualização é baseada em outra visualização.
Q # 88) Qual é a diferença entre a cláusula HAVING e a cláusula WHERE?
Responda: Ambos especificam uma condição de pesquisa, mas a cláusula Tendo é usada apenas com a instrução SELECT e normalmente usada com a cláusula GROUP BY.
Se a cláusula GROUP BY não for usada, então se comportou apenas como a cláusula WHERE.
Q # 89) Qual é a diferença entre as tabelas temporárias locais e globais?
Responda: Se definida dentro de uma instrução composta, uma tabela temporária local existe apenas durante a duração dessa instrução, mas uma tabela temporária global existe permanentemente no banco de dados, mas suas linhas desaparecem quando a conexão é fechada.
Q # 90) O que é CTE?
Responda: Uma CTE ou expressão de tabela comum é uma expressão que contém um conjunto de resultados temporário definido em uma instrução SQL.
Conclusão
SQL é um componente essencial do sistema de banco de dados. Ter um conhecimento bem versado de banco de dados junto com os conceitos de SQL certamente será benéfico para quebrar a entrevista para o perfil em questão.
Além de alguns conceitos importantes, existem alguns fatos ocultos que permanecem invisíveis e afetam seu desempenho na entrevista. Neste tutorial, tentei lembrar alguns desses conceitos que parecem pequenos, mas não devem ser negligenciados.
Espero que neste artigo você encontre respostas para as perguntas mais frequentes das entrevistas SQL. O conhecimento de SQL é fundamental para qualquer testador e este artigo o ajudará a preparar a entrevista.
Leitura Adicional => Tudo sobre teste de banco de dados
Leitura recomendada
- Perguntas e respostas da entrevista
- Principais perguntas da entrevista sobre Oracle: Oracle Basic, SQL, PL / SQL Questions
- 30 perguntas e respostas mais importantes da entrevista PL / SQL em 2021
- Perguntas e respostas da entrevista de teste de ETL
- Principais perguntas e respostas da entrevista do Teradata
- Algumas perguntas e respostas complicadas de testes manuais
- 25 melhores perguntas e respostas da entrevista para testes ágeis
- Perguntas da entrevista de Spock com respostas (mais populares)