Dia 7: SQL avançado para ciência de dados
Até agora, este é o 7º blog na jornada do básico para o avanço do sql. você pode consultar os blogs anteriores para aprender sql do zero. Este blog contém bons conhecimentos sobre exibições, funções e procedimentos armazenados.
VISUALIZAÇÕES
Uma exibição é, na verdade, uma abordagem baseada em tabela virtual como um conjunto de resultados para a instrução SQL. Pode haver várias tabelas, ou seja, o número máximo de fontes de tabelas que podem ser unidas em uma única consulta é 256 .
Uma visão contém linhas e colunas assim como uma tabela no banco de dados, os campos em uma visão são campos de uma ou mais tabelas.
Por que precisamos de visualizações?
As exibições são usadas para fins de segurança porque encapsulam o nome da tabela . Os dados estão na tabela virtual, não armazenados permanentemente. As exibições exibem apenas dados selecionados e, no entanto, você precisa que seus dados sejam.
Podemos usar a cláusula Joins/function/sql nas visualizações.
Sintaxe para criar uma visualização:
CREATE VIEW view_name AS
SELECT column1 , column2 , … FROM table_name WHERE condição ;
Create View Salesman_info
As
select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s
left join customer c on c.salesmanid = s.salesmanid
group by 1;
Sintaxe para atualizar uma exibição:
CREATE OR REPLACE VIEW view_name AS
SELECT column1 , column2 , … FROM table_name WHERE condição ;
Sintaxe para descartar uma visualização:
DROP VIEW view_name ;
Uma exibição fornece vários benefícios.
- As exibições podem ocultar a complexidade.
- As exibições podem ser usadas como um mecanismo de segurança.
- As visualizações podem simplificar o suporte ao código legado.
Funções internas : Existem muitas funções internas que podemos acessar ou manipular nossos dados conforme necessário. Algumas das funções são funções String, funções matemáticas/numéricas, funções de data, funções avançadas ou funções agregadas.
Função definida pelo usuário : SQL permite que os usuários criem funções personalizadas de acordo com seus requisitos exatos.
Existem três tipos de funções definidas pelo usuário:
- Funções escalares, ou seja, retornam um único valor.
- Funções de valor de tabela, ou seja, retornam um conjunto de tabela.
- Funções de valor de várias tabelas, ou seja, retornam um conjunto de tabelas.
Aqui criei uma função para calcular a idade usando a data de nascimento no MYSQL.
DELIMITER $$
CREATE FUNCTION Calculate_Age
(
DOB date
)
RETURNS INT DETERMINISTIC
BEGIN
RETURN YEAR(CURRENT_DATE()) - YEAR(DOB);
END$$
DELIMITER ;
Query :::: SELECT Calculate_Age(‘1988–02–29’) as DOB;
Procedimentos armazenados : Um procedimento armazenado é um código SQL preparado que você pode salvar, para que o código possa ser reutilizado continuamente. Portanto, se você tiver uma consulta SQL que escreve repetidamente, salve-a como um procedimento armazenado e, em seguida, chame-a para executá-la.
Sintaxe do procedimento armazenado:
CREATE PROCEDURE nome_do_procedimento
AS
instrução_sql
GO;
Executar um procedimento armazenado
EXEC nome_do_procedimento ;
Por que usamos procedimento armazenado em vez de função?
- O procedimento armazenado pode retornar zero, valores únicos e múltiplos.
- O procedimento armazenado também pode retornar um conjunto de dados de tabelas conforme necessário usando várias consultas SQL.
- Podemos chamar a função no procedimento armazenado.
- O procedimento armazenado pode ter valores e parâmetros de entrada/saída.
- Não podemos usar a instrução select/where/havendo com SPs.
- Podemos usar inserir/atualizar/excluir e selecionar no procedimento armazenado.
- O procedimento armazenado SQL pode executar SQL dinâmico.
DELIMITER $$
CREATE PROCEDURE Proc_Saleman_Info_Data()
BEGIN
## Type 1
select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s
left join customer c on c.salesmanid = s.salesmanid
group by 1;
## Type 2
insert into salesman
values(5008,'Shikha rawat','India',12);
END$$
DELIMITER ;
call Proc_Saleman_Info_Data();
Perguntas populares de entrevistas para exibições/funções/procedimento armazenado.
Ques1: O que são visualizações?
Ques2: Quantas tabelas podemos usar em views?
Ques3: Diferença entre função e procedimento armazenado?
Obrigado por ler e se gostar, não esqueça de bater palmas!
Tenha um bom dia!.
============================= O FIM =================== =======
GitHub: sessão do dia 7
Dê uma estrela no Git Hub!!
Referência:
- https://www.w3schools.com/sql/default.asp
- https://www.geeksforgeeks.org/
Siga-me para mais postagens relacionadas à ciência de dados!
Vamos nos conectar no LinkedIn !





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)