Perguntas de entrevista para desenvolvedores SQL: Perguntas e respostas comuns sobre entrevistas SQL- Parte 3

No SQL, quais tipos de joins você usou e explique como eles funcionam?

Responder:

  • INNER JOIN: retorna linhas com dados correspondentes de ambas as tabelas.
  • LEFT JOIN: Retorna todas as linhas da tabela à esquerda e as linhas correspondentes da tabela à direita.
  • RIGHT JOIN: Retorna todas as linhas da tabela da direita e as linhas correspondentes da tabela da esquerda.
  • FULL JOIN: Retorna todas as linhas de ambas as tabelas, incluindo linhas não correspondentes.

 

Explicar os conceitos de ACID em SQL e sua função no gerenciamento de transações

Resposta: ACID significa Atomicity, Consistency, Isolation, Durability. Estas são propriedades essenciais no gerenciamento de transações em SQL:

  • Atomicity garante que uma transação seja totalmente processada ou não processada.
  • Consistency garante que os dados devem aderir a regras, restrições e condições definidas.
  • Isolation garante que as transações simultâneas não interfiram umas nas outras.
  • Durability garante que, uma vez concluída a transação, as alterações no banco de dados sejam salvas de forma segura e permanente.

 

Qual é a diferença entre ROW_NUMBER(), RANK(), DENSE_RANK() as funções no SQL?

Resposta: ROW_NUMBER(), RANK(), DENSE_RANK() são todos usados ​​para numerar linhas em um resultado de consulta, mas possuem as seguintes diferenças:

  • ROW_NUMBER(): atribui números contínuos a linhas no resultado da consulta, sem considerar duplicatas.
  • RANK(): atribui números a linhas no resultado da consulta e pula o próximo número em caso de empate.
  • DENSE_RANK(): Atribui números às linhas no resultado da consulta e não pula o próximo número em caso de empate.

 

How to use window functions in SQL, and provide an example.

Answer: Window functions allow performing calculations on a set of related rows without changing the main query's result. For example, we can use window functions to calculate running totals or retrieve top N rows within a result set.

SELECT ProductID, UnitPrice,   
       SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal  
FROM Products;  

 

How to use regular expressions in SQL for pattern matching

Answer: Regular expressions in SQL are used for complex text pattern searches. They are often used with the LIKE operator or functions like REGEXP_LIKE(in Oracle) or REGEXP_MATCHES(in PostgreSQL).

SELECT * FROM Employees WHERE LastName LIKE '%son%';

 

How to use JSON functions in SQL to work with JSON data

Answer: JSON functions in SQL allow querying, inserting, updating, and deleting data in JSON format in the database.

Por exemplo, podemos usar funções como JSON_VALUE, JSON_QUERY, JSON_MODIFY(no SQL Server) ou operadores como ->, ->>, #>, #>>, etc.(no PostgreSQL) para manipular propriedades JSON.

SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName  
FROM Customers;  

 

Técnicas avançadas para otimização de consultas SQL e ajuste de desempenho do banco de dados

Resposta: Para otimizar as consultas SQL e o desempenho do banco de dados, podemos utilizar técnicas como:

  • Usando índices para colunas consultadas com frequência.
  • Otimização JOIN e WHERE cláusulas para recuperação eficiente de dados.
  • Utilizando funções de janela e paginação quando necessário.
  • Evitando SELECT * para recuperar apenas as colunas necessárias.
  • Usando dicas de consulta em alguns casos.
  • Garantir a normalização dos dados e remover duplicatas.
  • Empregar ferramentas de monitoramento de desempenho para rastrear e ajustar o banco de dados.

 

Explicar como usar SET operações (UNION, INTERSECT, EXCEPT) em SQL

Resposta: SET as operações (UNION, INTERSECT, EXCEPT) são usadas para combinar e manipular conjuntos de resultados de diferentes consultas.

  • UNION: combina os resultados de duas ou mais consultas em um único conjunto de dados e remove duplicatas.
  • INTERSECT: retorna as linhas que aparecem em ambos os conjuntos de resultados da consulta.
  • EXCEPT: retorna as linhas que aparecem no primeiro conjunto de resultados da consulta, mas não no segundo.

 

Como usar funções de consulta como LEAD, LAG, FIRST_VALUE, LAST_VALUE no SQL

Resposta: funções de consulta como LEAD, LAG, FIRST_VALUE, LAST_VALUE são usadas para recuperar valores de linhas relacionadas dentro do mesmo resultado de consulta.

  • LEAD: Obtém o valor de uma coluna da próxima linha no resultado da consulta.
  • LAG: Obtém o valor de uma coluna da linha anterior no resultado da consulta.
  • FIRST_VALUE: recupera o primeiro valor de uma coluna no resultado da consulta.
  • LAST_VALUE: recupera o último valor de uma coluna no resultado da consulta.