Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

PostgreSQL FROM

A cláusula `FROM` no PostgreSQL é um componente fundamental das consultas SQL, usada para especificar a tabela ou tabelas das quais você deseja recuperar ou manipular dados. É essencial para identificar a fonte de dados nas instruções `SELECT`, `UPDATE` e `DELETE`.

Uso

A cláusula `FROM` é utilizada para indicar as tabelas envolvidas em suas operações SQL. Ela segue a palavra-chave inicial, como `SELECT`, e é essencial para direcionar a consulta para a fonte de dados correta.

sql
SELECT column1, column2, ...
FROM table_name
[WHERE condition];

Nessa sintaxe, `FROM nome_da_tabela` designa a tabela da qual os dados estão sendo recuperados.

Função em `UPDATE` e `DELETE`

Nas instruções `UPDATE` e `DELETE`, a cláusula `FROM` ajuda a especificar as tabelas envolvidas na modificação ou remoção de dados.

sql
UPDATE table_name
SET column1 = value1, ...
FROM other_table
WHERE condition;
sql
DELETE FROM table_name
USING other_table
WHERE condition;

Exemplos

1. Seleção básica

sql
SELECT *
FROM users;  -- Retrieves all columns from the `users` table

Este exemplo recupera todas as colunas da tabela `users`, fornecendo a você um conjunto de dados completo do conteúdo da tabela.

2. Seleção de colunas específicas

sql
SELECT first_name, email
FROM customers;  -- Retrieves only `first_name` and `email` from `customers`

Aqui, a consulta extrai apenas as colunas `first_name` e `email` da tabela `customers`, o que é útil para simplificar a recuperação de dados.

3. Unindo várias tabelas

sql
SELECT orders.order_id, products.product_name
FROM orders
JOIN products ON orders.product_id = products.product_id;  -- Combines data from `orders` and `products`

Este exemplo demonstra como usar `FROM` com uma operação `JOIN` para combinar dados das tabelas `orders` e `products` com base em um `product_id` comum. A operação `JOIN` mescla linhas de várias tabelas com base em uma coluna relacionada entre elas.

4. Subconsultas

sql
SELECT customer_id
FROM (SELECT * FROM orders WHERE amount > 100) AS high_value_orders;

Este exemplo mostra como a cláusula `FROM` pode interagir com subconsultas para lidar com cenários mais complexos de recuperação de dados.

5. Expressões de tabelas comuns (CTEs)

sql
WITH order_totals AS (
  SELECT customer_id, SUM(amount) AS total_amount
  FROM orders
  GROUP BY customer_id
)
SELECT customer_id
FROM order_totals
WHERE total_amount > 500;

Isso ilustra o uso de `FROM` em conjunto com CTEs para gerenciar resultados de consultas intermediárias que podem ser reutilizados na consulta principal.

Dicas e práticas recomendadas

  • Selecione apenas as tabelas necessárias. Limite sua cláusula `FROM` a apenas tabelas relevantes para melhorar o desempenho e a clareza da consulta.
  • Utilize aliases de tabela. Use aliases para tabelas para simplificar a criação de consultas e reduzir a chance de erros, especialmente ao lidar com várias tabelas.
  • Combine com as condições. Use a cláusula `WHERE` em conjunto com `FROM` para filtrar os resultados e recuperar somente os dados de que você precisa.
  • Garanta uma lógica de união clara. Defina claramente as condições de união para evitar resultados não intencionais quando você estiver trabalhando com várias tabelas.