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:
Atomicitygarante que uma transação seja totalmente processada ou não processada.Consistencygarante que os dados devem aderir a regras, restrições e condições definidas.Isolationgarante que as transações simultâneas não interfiram umas nas outras.Durabilitygarante 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
JOINeWHEREclá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.

