Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL FROM

La cláusula `FROM` en PostgreSQL es un componente fundamental de las consultas SQL, que se utiliza para especificar la tabla o tablas desde las que recuperar o manipular datos. Es esencial para identificar la fuente de datos en las sentencias `SELECT`, `UPDATE` y `DELETE`.

Utilización

La cláusula `FROM` se utiliza para indicar las tablas implicadas en tus operaciones SQL. Sigue a la palabra clave inicial, como `SELECT`, y es esencial para dirigir la consulta a la fuente de datos correcta.

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

En esta sintaxis, `FROM nombre_tabla` designa la tabla de la que se recuperan los datos.

Función en `UPDATE` y `DELETE`.

En las sentencias `UPDATE` y `DELETE`, la cláusula `FROM` ayuda a especificar las tablas implicadas en la modificación o eliminación de datos.

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

Ejemplos

1. Selección básica

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

Este ejemplo recupera todas las columnas de la tabla `users`, proporcionando un conjunto de datos completo del contenido de la tabla.

2. Seleccionar columnas específicas

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

Aquí, la consulta sólo extrae las columnas "nombre" y "correo electrónico" de la tabla "clientes", lo que resulta útil para agilizar la recuperación de datos.

3. Unir varias tablas

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 ejemplo demuestra el uso de `FROM` con una operación `JOIN` para combinar datos de las tablas `orders` y `products` basándose en un `product_id` común. La operación `JOIN` combina filas de varias tablas basándose en una columna relacionada entre ellas.

4. Subconsultas

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

Este ejemplo muestra cómo la cláusula `FROM` puede interactuar con subconsultas para manejar escenarios de recuperación de datos más complejos.

5. Expresiones comunes de tabla (ETC)

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;

Esto ilustra el uso de `FROM` junto con CTEs para gestionar los resultados intermedios de la consulta que pueden reutilizarse en la consulta principal.

Consejos y buenas prácticas

  • Selecciona sólo las tablas necesarias. Limita tu cláusula `FROM` sólo a las tablas relevantes para mejorar el rendimiento y la claridad de la consulta.
  • Utiliza alias de tablas. Utiliza alias para las tablas para simplificar la escritura de las consultas y reducir la posibilidad de errores, especialmente cuando se trata de varias tablas.
  • Combínalo con las condiciones. Utiliza la cláusula `WHERE` junto con `FROM` para filtrar los resultados y recuperar sólo los datos que necesites.
  • Garantiza una lógica de unión clara. Define claramente las condiciones de unión para evitar resultados imprevistos al trabajar con varias tablas.