SQL
Guia de consulta rápido
Sumário Termo de uso
Introdução
Banco de dados relacional - Conceitos fundamentais
Criar Tabelas
Inserir Dados
Consultar Dados
Atualizar Dados
Linguagens DML, DDL, DCL, DTL e DQL
Excluir Dados
DML (Data Manipulation Language)
Ordenar Resultados
DDL (Data Definition Language)
Filtrar com Operadores Lógicos
DCL (Data Control Language)
Usar Funções Agregadas
DTL (Data Transaction Language)
Juntar Tabelas (JOIN)
DQL (Data Query Language)
INNER JOIN
Cláusulas em SQL
LEFT JOIN (ou LEFT OUTER JOIN)
Operadores Lógicos
RIGHT JOIN (ou RIGHT OUTER JOIN)
Operadores Relacionais
FULL JOIN (ou FULL OUTER JOIN)
Combinando Cláusulas, Operadores Lógicos
CROSS JOIN
e Operadores Relacionais
Agrupar Resultados (GROUP BY)
Operador LIKE
Filtros com HAVING
Funções de Agregação em SQL
Subconsultas (Subqueries)
COUNT
Alterar Tabela (ALTER)
SUM
Criar Índices
AVG
Exemplos de Funções
MAX
Expressão condicional CASE
MIN
Cláusula WITH
Exemplo de uso de várias funções de agregação
Views
Todos direitos reservados - Growdev 01
Termos
Propriedade Growdev
Todo o conteúdo deste documento é
propriedade da Growdev. O mesmo pode ser
utilizado livremente para estudo pessoal.
de Uso É proibida qualquer utilização desse material que
não se enquadre nas condições acima sem o
prévio consentimento formal, por escrito, da
Growdev. O uso indevido está sujeito às medidas
legais cabíveis.
Todos direitos reservados - Growdev
02
Intro
Linguagem SQL
A Linguagem SQL (Structured Query Language) é
usada para gerenciar e consultar bancos de dados
relacionais. Aqui está um guia de consulta rápida
dução para as operações mais comuns em SQL.
Este guia oferece uma visão geral rápida
das operações SQL mais comuns. A
sintaxe e as capacidades exatas podem
variar de acordo com o sistema de
gerenciamento de banco de dados que
você está usando. Certifique-se de
consultar a documentação relevante do
seu DBMS para obter informações
detalhadas.
Para uma compreensão mais
profunda e aplicação prática, é
recomendável estudar cada
conceito em detalhes e praticar
com exemplos reais.
Todos direitos reservados - Growdev 03
Banco de
Banco de Dados Relacional:
Um sistema que organiza dados em tabelas com linhas (registros) e colunas
(campos), permitindo relacionamentos entre tabelas.
dados
Tabela:
Relacional Uma estrutura fundamental que armazena dados em linhas e colunas. Cada
tabela tem um nome exclusivo e é composta por registros (ou tuplas) e
campos.
Registro:
Conceitos Também conhecido como tupla, é uma única entrada na tabela que contém
dados específicos relacionados a um objeto ou entidade.
fundamentais
Um banco de dados relacional é Campo:
uma estrutura de Uma coluna individual em uma tabela que armazena um tipo de dado
armazenamento e organização específico, como texto, número ou data.
de dados que utiliza tabelas
para representar informações Chave Primária (PK):
inter-relacionadas: Um campo ou conjunto de campos que identifica de forma exclusiva cada
registro em uma tabela. Garante integridade e unicidade dos dados.
Chave Estrangeira (FK):
Um campo em uma tabela que estabelece um relacionamento com a chave
primária de outra tabela. Usado para criar relacionamentos entre tabelas.
Todos direitos reservados - Growdev 04
Conceitos Fundamentais Desnormalização:
O processo de otimizar um banco de dados ao
permitir um certo grau de redundância de dados
para melhorar o desempenho de consultas.
Relacionamento:
A associação lógica entre tabelas usando chaves Índice:
primárias e estrangeiras para representar conexões Uma estrutura de dados que melhora a velocidade
entre entidades. de busca e recuperação de dados, criando uma lista
ordenada de valores de um ou mais campos.
Consulta (Query): Transação:
Uma solicitação para recuperar, modificar ou manipular
dados de um banco de dados. Geralmente escrito em Uma sequência de operações que são tratadas
SQL (Structured Query Language).
como uma unidade única, garantindo a consistência
e a integridade dos dados.
SQL (Structured Query Language): ACID:
Uma linguagem utilizada para gerenciar e consultar Acrônimo para Atomicidade, Consistência,
bancos de dados relacionais. Isolamento e Durabilidade - um conjunto de
propriedades garantidas em bancos de dados
transacionais para garantir a confiabilidade das
Normalização: operações.
O processo de projetar tabelas de banco de dados para
minimizar a redundância e melhorar a eficiência, JOIN:
dividindo dados em tabelas menores e relacionadas.
Uma operação que combina registros de duas ou
mais tabelas com base em um critério comum,
permitindo a recuperação de informações
relacionadas.
Todos direitos reservados - Growdev
05
Linguagens
DML, DDL, DCL, DTL e DQL
Cada uma dessas linguagens (DML, DDL, DCL, DTL e DQL) desempenha um papel
importante no gerenciamento e manipulação de bancos de dados usando a
linguagem SQL. É fundamental entender esses conceitos para usar efetivamente o
SQL para interagir com os dados em um banco de dados relacional.
Todos direitos reservados - Growdev 06
DML
A Linguagem de Manipulação de Dados (DML) é usada para
inserir, atualizar, recuperar e excluir dados de um banco de
dados. As principais operações DML são:
(Data Manipulation
INSERT: Usado para adicionar novos registros a uma tabela
Language) UPDATE: Utilizado para modificar registros existentes em
uma tabela
DELETE: Usado para excluir registros de uma tabela
SELECT: Usado para recuperar dados de uma ou mais
tabelas.
Exemplos DML:
INSERT INTO clientes (nome, email) VALUES ('João',
'joao@[Link]');
UPDATE produtos SET preco = 25.99 WHERE id = 123;
DELETE FROM pedidos WHERE status = 'cancelado';
SELECT nome, telefone FROM contatos WHERE cidade = 'São
Paulo';
Todos direitos reservados - Growdev
07
DDL (Data A Linguagem de Definição de Dados (DDL) é usada para
definir e gerenciar estruturas de banco de dados, como
tabelas, índices e restrições. As principais operações DDL são:
Definition Language)
CREATE: Utilizado para criar objetos do banco de dados,
como tabelas e índices.
ALTER: Usado para modificar a estrutura de objetos
existentes.
DROP: Utilizado para excluir objetos do banco de dados.
Exemplos:
CREATE TABLE funcionarios (
id INT PRIMARY KEY,
nome VARCHAR(50),
cargo VARCHAR(30)
);
ALTER TABLE clientes ADD COLUMN data_registro DATE;
DROP TABLE pedidos;
Todos direitos reservados - Growdev 08
DCL (Data A Linguagem de Controle de Dados (DCL) é usada para
controlar o acesso aos dados no banco de dados. As
principais operações DCL são:
Control Language)
GRANT: Usado para conceder privilégios a usuários e
papéis.
REVOKE: Utilizado para remover privilégios concedidos
anteriormente.
Exemplos:
GRANT SELECT, INSERT ON produtos TO vendedor;
REVOKE UPDATE ON pedidos FROM atendente;
Todos direitos reservados - Growdev 09
COMMIT: Confirma uma transação, tornando suas
alterações permanentes
DTL (Data ROLLBACK: Reverte uma transação, desfazendo suas
alterações
Transaction SAVEPOINT: Cria um ponto de salvamento em uma
transação para permitir o rollback para esse ponto
Language) específico
SET TRANSACTION: Define características de uma
transação, como isolamento e controle de concorrência.
A Linguagem de Transação
de Dados (DTL) é usada para
controlar transações no
Exemplos:
banco de dados, permitindo BEGIN;
que você inicie, confirme ou UPDATE saldo_conta SET valor = valor - 100 WHERE conta_id =
reverta transações. 123;
SAVEPOINT ponto1;
UPDATE saldo_conta SET valor = valor + 50 WHERE conta_id =
456;
ROLLBACK TO ponto1;
COMMIT;
Todos direitos reservados - Growdev 10
A Linguagem de Consulta de Dados (DQL) é usada para
DQL (Data
recuperar informações específicas do banco de dados. A
operação principal em DQL é o comando SELECT, que é usado
Query Language) para consultar dados.
Exemplos:
SELECT nome, idade FROM alunos WHERE curso = 'Engenharia';
SELECT COUNT(*) FROM produtos WHERE preço > 100;
Todos direitos reservados - Growdev
11
As cláusulas são partes de uma consulta SQL que permitem
filtrar, ordenar e limitar os resultados. Algumas cláusulas
Cláusulas importantes incluem:
FROM: Indica a tabela da qual você está recuperando os
em SQL dados
WHERE: Define as condições de filtro para os registros que
serão recuperados
ORDER BY: Ordena os resultados com base em uma ou mais
colunas
GROUP BY: Agrupa os resultados com base em uma ou mais
colunas
HAVING: Filtra os resultados de grupos criados pelo GROUP BY
LIMIT: Limita o número de registros retornados na consulta.
Exemplos:
SELECT nome, idade
FROM alunos
WHERE curso = 'Engenharia'
ORDER BY idade DESC
LIMIT 10;
Todos direitos reservados - Growdev
12
Operadores
Os operadores lógicos são usados para combinar condições
em uma cláusula WHERE. Os principais operadores lógicos
são:
Lógicos AND: Retorna true se todas as condições forem verdadeiras
OR: Retorna true se pelo menos uma das condições for
verdadeira
NOT: Inverte o valor da condição, ou seja, retorna true se a
condição for falsa e vice-versa.
Exemplos:
SELECT nome, idade
FROM alunos
WHERE curso = 'Engenharia' AND idade > 20;
Todos direitos reservados - Growdev
12
Operadores Os operadores relacionais são usados para comparar valores
em condições. Os principais operadores relacionais são:
Relacionais =: Igual a
<: Menor que
>: Maior que
<=: Menor ou igual a
>=: Maior ou igual a
<> ou !=: Diferente de.
Exemplos:
SELECT nome, salario
FROM funcionarios
WHERE salario >= 50000 AND salario <= 80000;
Todos direitos reservados - Growdev 13
Você pode combinar cláusulas, operadores
Combinando
lógicos e operadores relacionais para criar
consultas mais complexas e específicas.
Cláusulas,
Exemplo:
SELECT nome, idade
FROM alunos
Operadores WHERE curso = 'Engenharia' AND (idade > 20
OR idade < 18);
Lógicos e Nesse exemplo, estamos buscando alunos
que estejam cursando Engenharia e tenham
mais de 20 anos ou menos de 18 anos.
Operadores Compreender e utilizar corretamente as
cláusulas, operadores lógicos e operadores
Relacionais relacionais é essencial para criar consultas
SQL eficazes e obter os resultados desejados
ao trabalhar com bancos de dados
relacionais.
Todos direitos reservados - Growdev
14
Operador Sintaxe Básica:
SELECT coluna
LIKE FROM tabela
WHERE coluna LIKE padrão;
Exemplo: SELECT nome
Suponha que você tenha uma tabela chamada produtos e deseje FROM produtos
O LIKE é usado em consultas SQL encontrar todos os produtos cujo nome comece com "Camiseta". WHERE nome LIKE
Você pode usar o comando LIKE com o operador % da seguinte 'Camiseta%';
para realizar correspondências maneira:
de padrões em valores de texto. Neste exemplo, a consulta retornará todos os produtos cujo nome começa com "Camiseta",
Ele é frequentemente usado em independentemente dos caracteres que seguem essa parte do texto.
conjunto com o operador % Exemplo: SELECT nome
(porcentagem) para representar Encontrar todos os produtos que têm "azul" em FROM produtos
algum lugar no nome: WHERE nome LIKE '%azul%';
zero, um ou vários caracteres, e
o operador _ (sublinhado) para
Exemplo: SELECT nome
representar um único caractere. Encontrar todos os produtos que terminam com FROM produtos
O LIKE é útil quando você deseja "calça": WHERE nome LIKE '%calça';
pesquisar valores que
correspondam a um padrão Exemplo: SELECT nome
Encontrar todos os produtos que começam com FROM produtos
específico, como encontrar qualquer caractere e depois têm "lápis": WHERE nome LIKE '_lápis';
palavras que contenham certos
caracteres ou sequências. O comando LIKE é útil para realizar buscas flexíveis em
valores de texto, permitindo que você recupere dados que
correspondam a padrões específicos, independentemente
das posições exatas dos caracteres no texto.
Todos direitos reservados - Growdev 15
Funções de
Agregação em SQL
COUNT SUM AVG
A função COUNT é usada para contar o número de A função SUM é usada para A função AVG é usada para calcular a
registros em uma coluna ou tabela. somar os valores de uma coluna média dos valores em uma coluna
numérica. numérica.
SELECT COUNT(*) FROM produtos;
SELECT COUNT(distinct categoria) FROM produtos;
SELECT SUM(total_vendas) SELECT AVG(salario) FROM
FROM pedidos; funcionarios;
Todos direitos reservados - Growdev
16
Funções de
Agregação em SQL
MAX MIN
A função MAX é usada para encontrar o valor máximo A função MIN é usada para encontrar o valor mínimo
em uma coluna. em uma coluna.
SELECT MAX(preco) FROM produtos; SELECT MIN(data_registro) FROM clientes;
Todos direitos reservados - Growdev 17
Exemplo de
uso de várias
SELECT COUNT(*) AS total_pedidos,
SUM(valor_total) AS total_vendas,
AVG(valor_total) AS
funções de media_vendas,
MAX(valor_total) AS maior_venda,
MIN(valor_total) AS menor_venda
agregação FROM pedidos;
Essas funções de agregação podem ser usadas
em conjunto com outras cláusulas SQL, como
WHERE e GROUP BY, para realizar cálculos
específicos em conjuntos de dados selecionados
ou agrupados. Elas são essenciais para extrair
informações estatísticas e resumidas de
grandes conjuntos de dados em bancos de
dados relacionais.
Todos direitos reservados - Growdev 18
Criar Consultar Dados
ISELECT coluna1, coluna2, ...
Exemplo:
SELECT coluna1, coluna2, ...
Tabelas FROM nome_da_tabela
FROM nome_da_tabela
WHERE condição; WHERE condição;
Atualizar Dados
Exemplo:
UPDATE nome_da_tabela
UPDATE alunos
SET coluna1 = novo_valor1, coluna2 = novo_valor2, ...
SET idade = 26
Criar Tabelas WHERE condição; WHERE nome = 'Maria';
CREATE TABLE nome_da_tabela (
coluna1 tipo_de_dado,
coluna2 tipo_de_dado, Excluir Dados
Exemplo:
DELETE FROM nome_da_tabela
DELETE FROM alunos
Exemplo:
WHERE nome = 'Maria';
CREATE TABLE alunos (
WHERE condição;
id INT PRIMARY KEY,
nome VARCHAR(50),
idade INT
O rdenar Resultados
Exemplo:
); SELECT coluna1, coluna2, ...
SELECT nome, idade
FROM nome_da_tabela
FROM alunos
ORDER BY coluna1 ASC/DESC, coluna2 ASC/DESC, ...; ORDER BY idade DESC;
Ins rir Dados:
e
INSERT INTO nome_da_tabela iltrar com Operadores Lógicos
F Exemplo:
(coluna1, coluna2, ...)
SELECT coluna1, coluna2, ...
SELECT nome, idade
VALUES (valor1, valor2, ...);
FROM nome_da_tabela
FROM alunos
Exemplo:
WHERE coluna1 = valor1 AND coluna2 > valor2 OR WHERE idade >= 18 AND idade <= 30 OR nome LIKE
INSERT INTO alunos (id, nome, coluna3 LIKE 'padrão'; 'Jo%';
idade)
VALUES (1, 'Maria', 25); U sar Funções Agregadas
Exemplo:
SELECT COUNT(coluna), AVG(coluna), SUM(coluna), SELECT COUNT(*) AS total_alunos,
MAX(coluna), MIN(coluna)
AVG(idade) AS media_idade,
FROM nome_da_tabela; MAX(idade) AS maior_idade
FROM alunos;
Todos direitos reservados - Growdev 19
Juntar
INNER JOIN
Retorna apenas às linhas em que há uma correspondência entre as tabelas envolvidas. Ou seja, apenas
as linhas com valores coincidentes nas colunas especificadas serão retornadas.
Tabelas
Exemplo:
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
LEFT JOIN (ou LEFT OUTER JOIN)
Retorna todas as linhas da tabela à esquerda e as linhas correspondentes da tabela à direita. Se não
É possível realizar houver correspondência na tabela à direita, serão retornados valores nulos.
diferentes tipos de Exemplo:
junções (joins) para SELECT customers.customer_id, customers.customer_name, orders.order_id
combinar dados de FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
várias tabelas.
RIGHT JOIN (ou RIGHT OUTER JOIN)
É semelhante ao LEFT JOIN, mas retorna todas as linhas da tabela à direita e as linhas correspondentes da
tabela à esquerda. Se não houver correspondência na tabela à esquerda, serão retornados valores nulos
Exemplo:
SELECT orders.order_id, orders.order_date, customers.customer_name
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.customer_id;
FULL JOIN (ou FULL OUTER JOIN)
Retorna todas as linhas de ambas as tabelas, combinando os resultados do LEFT JOIN e RIGHT JOIN. Se não
houver correspondência em uma tabela, os valores nulos serão retornados na outra tabela.
Exemplo:
SELECT customers.customer_id, customers.customer_name, orders.order_id
FROM customers
FULL JOIN orders ON customers.customer_id = orders.customer_id;
Todos direitos reservados - Growdev 20
CROSS JOIN
Juntar
O CROSS JOIN retorna o produto cartesiano de todas as linhas das tabelas envolvidas, ou seja, todas as
combinações possíveis entre as linhas.
Exemplo:
Tabelas
SELECT customers.customer_name, products.product_name
FROM customers
CROSS JOIN products;
É importante lembrar que, ao realizar joins, é necessário identificar
corretamente as colunas nas cláusulas ON, para garantir a integridade dos
resultados. Cada tipo de join serve a propósitos diferentes e deve ser escolhido
conforme a necessidade específica de cada consulta.
Agrupar Resultados (GROUP BY)
SELECT coluna1, AVG(coluna2)
FROM nome_da_tabela
GROUP BY coluna1;
Exemplo:
SELECT curso_id, COUNT(*) AS total_alunos
FROM alunos
GROUP BY curso_id;
Filtros com HAVING
SELECT coluna1, AVG(coluna2)
FROM nome_da_tabela
GROUP BY coluna1
HAVING AVG(coluna2) > valor;
Exemplo:
SELECT curso_id, AVG(idade) AS media_idade
FROM alunos
GROUP BY curso_id
HAVING AVG(idade) > 25;
Todos direitos reservados - Growdev
21
Tabelas
Subconsultas (Subqueries) Criar Índices
SELECT coluna1
CREATE INDEX index_nome ON nome_da_tabela (coluna);
FROM nome_da_tabela
Exemplo:
WHERE coluna2 IN (SELECT coluna2 FROM outra_tabela WHERE condição);
Exemplo:
CREATE INDEX idx_nome ON alunos (nome);
SELECT nome
FROM alunos
Exemplos de Funções
WHERE curso_id IN (SELECT id FROM cursos WHERE nome = 'Engenharia');
SELECT CONCAT(primeiro_nome, ' ', sobrenome) AS
nome_completo
FROM nome_da_tabela;
Alterar Tabela (ALTER)
ALTER TABLE nome_da_tabela
SELECT DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada
ADD coluna_nova tipo_de_dado;
FROM nome_da_tabela;
Exemplo:
ALTER TABLE nome_da_tabela
SELECT CONCAT(primeiro_nome, ' ', sobrenome) AS
MODIFY coluna tipo_de_dado;
nome_completo
FROM funcionarios;
ALTER TABLE nome_da_tabela
DROP COLUMN coluna;
SELECT DATE_FORMAT(data_pedido, '%d/%m/%Y') AS
data_formatada
Exemplo:
FROM pedidos
ALTER TABLE alunos
ADD COLUMN curso_id INT;
ALTER TABLE alunos
MODIFY COLUMN nome VARCHAR(60);
ALTER TABLE alunos
DROP COLUMN idade;
Todos direitos reservados - Growdev
22
Expressão A estrutura básica de uma cláusula CASE em SQL é a seguinte:
condicional CASE
WHEN condição_1 THEN resultado_1
CASE
WHEN condição_2 THEN resultado_2
...
ELSE resultado_padrão
END
Exemplo:
Permite realizar diferentes ações Suponha que temos uma tabela chamada "Produtos" que contém
com base em condições informações sobre produtos em um estoque, incluindo o preço de cada
produto. Gostaríamos de criar uma nova coluna chamada "Categoria" com
específicas. Ele pode ser usado base no preço dos produtos. Se o preço for menor que 50, a categoria será
para executar avaliações 'Barato', se estiver entre 50 e 100, a categoria será 'Médio', e se for maior que
100, a categoria será 'Caro'.
condicionais dentro das instruções
SQL, o que pode ser útil para SELECT ProdutoID, Nome, Preco,
realizar transformações nos dados, CASE
gerar colunas calculadas ou WHEN Preco < 50 THEN 'Barato'
WHEN Preco BETWEEN 50 AND 100 THEN 'Médio'
aplicar lógica condicional. ELSE 'Caro'
END AS Categoria
FROM Produtos;
Neste exemplo, estamos usando a cláusula CASE para avaliar a coluna "Preco" e
gerar a coluna calculada "Categoria" com base nas condições definidas.
Todos direitos reservados - Growdev 23
Cláusula
WITH Exemplo
WITH produtos_caros AS (
SELECT nome, preco
FROM produtos
Também conhecida como Common WHERE preco > 100
Table Expressions ou CTEs é usada para )
criar consultas temporárias nomeadas SELECT nome, preco
que podem ser referenciadas em uma FROM produtos_caros
consulta principal. Essa cláusula oferece ORDER BY preco DESC;
uma maneira mais organizada e legível
de escrever consultas complexas,
permitindo que você divida a lógica da Nesse exemplo, a cláusula WITH cria uma tabela temporária chamada produtos_caros que
consulta em partes mais gerenciáveis.
contém os produtos com preço superior a 100. A consulta principal, que segue a cláusula WITH,
então seleciona e ordena os produtos da tabela temporária produtos_caros.
Basicamente, você pode pensar em
uma cláusula WITH como uma maneira O uso de WITH pode ser especialmente útil quando você deseja realizar várias operações em
de criar tabelas temporárias que uma tabela ou conjunto de dados antes de executar a consulta principal. Isso melhora a
existem apenas pelo tempo de legibilidade do código, ajuda na depuração e pode até mesmo melhorar o desempenho em
execução da consulta. Isso pode tornar algumas situações.
as consultas mais claras e facilitar a
reutilização de partes da consulta em É importante notar que a cláusula WITH não cria tabelas reais no banco de dados. Ela apenas
várias partes do código. cria uma estrutura temporária que existe durante a execução da consulta que a utiliza.
Todos direitos reservados - Growdev 24
Views Exemplo
Suponha que temos uma tabela chamada
"pedidos" com as seguintes colunas: id,
cliente_id, data_pedido e valor_total. Vamos
Uma VIEW (visão) no PostgreSQL é uma representação virtual de uma tabela ou consulta criar uma VIEW que exiba os detalhes dos
que permite aos usuários recuperar e manipular os dados de maneira semelhante a uma pedidos feitos por um cliente específico.
tabela real, mas sem armazenar fisicamente os dados.
CREATE VIEW detalhes_pedidos_cliente AS
As VIEWs são criadas usando a cláusula CREATE VIEW. Você especifica a consulta SQL que SELECT [Link], p.data_pedido, p.valor_total
define a VIEW e atribui a ela um nome. A consulta pode incluir junções, filtros, agregações FROM pedidos p
e outras operações SQL.
WHERE p.cliente_id = 1;
As VIEWs não armazenam dados fisicamente. Elas são consultas armazenadas que são Neste exemplo, criamos uma VIEW chamada
executadas dinamicamente toda vez que você consulta a VIEW. Isso significa que os "detalhes_pedidos_cliente" que seleciona os
dados exibidos por uma VIEW são sempre atualizados em tempo real, refletindo detalhes (id, data_pedido e valor_total) dos
quaisquer alterações nos dados subjacentes.
pedidos feitos por um cliente específico (no
caso, cliente_id = 1).
Uma vez criada, uma VIEW pode ser consultada usando uma sintaxe SQL padrão, assim
como se estivesse consultando uma tabela real. Isso simplifica a recuperação de dados
complexos e elimina a necessidade de escrever consultas SQL longas e repetitivas.
Agora, você pode consultar essa VIEW da mesma
VIEWs podem ser usadas para criar "tabelas virtuais" personalizadas que representam forma que faria com uma tabela real:
uma visão específica dos dados, adaptada às necessidades dos usuários. Isso pode
acelerar o desenvolvimento de aplicativos, fornecendo uma camada abstrata que isola SELECT * FROM detalhes_pedidos_cliente;
os usuários da complexidade subjacente dos dados.
Isso retornará os detalhes dos pedidos feitos pelo
cliente com o ID 1.
Todos direitos reservados - Growdev 25
GROWDEV - Academy
© Copyright 2023
Todos direitos reservados - Growdev