Accéder au contenu principal
Documents
Gestion des tableaux et des schémasSyntaxe de baseDéclencheursBases de donnéesFonctions de la dateFonctions des chaînes de caractèresFonctions mathématiquesFonctions JSONIndexes

PostgreSQL FROM

La clause `FROM` dans PostgreSQL est un composant fondamental des requêtes SQL, utilisé pour spécifier le tableau ou les tableaux à partir desquels récupérer ou manipuler les données. Elle est essentielle pour identifier la source de données dans les instructions `SELECT`, `UPDATE` et `DELETE`.

Utilisation

La clause `FROM` est utilisée pour indiquer les tableaux impliqués dans vos opérations SQL. Il suit le mot-clé initial, tel que `SELECT`, et est essentiel pour diriger la requête vers la source de données correcte.

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

Dans cette syntaxe, `FROM nom_de_table` désigne le tableau à partir duquel les données sont extraites.

Rôle dans `UPDATE` et `DELETE`

Dans les instructions `UPDATE` et `DELETE`, la clause `FROM` permet de spécifier les tableaux concernés par la modification ou la suppression des données.

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

Exemples

1. Sélection de base

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

Cet exemple récupère tous les tableaux de la table `users`, fournissant ainsi un ensemble de données complet du contenu de la table.

2. Sélection de colonnes spécifiques

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

Ici, la requête ne tire que les tableaux `first_name` et `email` du tableau `customers`, ce qui est utile pour rationaliser la recherche de données.

3. Jointure de plusieurs tableaux

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`

Cet exemple démontre l'utilisation de `FROM` avec une opération `JOIN` pour combiner les données des tableaux `orders` et `products` basées sur un `product_id` commun. L'opération `JOIN` fusionne les lignes de plusieurs tableaux sur la base d'une colonne liée entre eux.

4. Sous-requêtes

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

Cet exemple montre comment la clause `FROM` peut interagir avec les sous-requêtes pour gérer des scénarios de recherche de données plus complexes.

5. Expressions communes des tableaux (CTE)

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;

Ceci illustre l'utilisation de `FROM` en conjonction avec les CTE pour gérer les résultats intermédiaires de la requête qui peuvent être réutilisés dans la requête principale.

Conseils et bonnes pratiques

  • Ne sélectionnez que les tableaux nécessaires. Limitez votre clause `FROM` aux tableaux pertinents pour améliorer les performances et la clarté de la requête.
  • Utilisez les alias de tableaux. Utilisez des alias pour les tableaux afin de simplifier la rédaction des requêtes et de réduire les risques d'erreur, en particulier lorsqu'il s'agit de plusieurs tableaux.
  • Combinez avec des conditions. Utilisez la clause `WHERE` en conjonction avec `FROM` pour filtrer les résultats et récupérer uniquement les données dont vous avez besoin.
  • Veillez à ce que la logique de jonction soit claire. Définissez clairement les conditions de jointure afin d'éviter des résultats inattendus lorsque vous travaillez avec plusieurs tableaux.