4D v16SELECT |
||||||||||||||
|
4D v16
SELECT
SELECT
La commande SELECT permet de récupérer des données stockées dans une ou plusieurs table(s). SELECT *, SALES, TARGET FROM OFFICES ... n'est pas autorisée, tandis que : SELECT * FROM OFFICES ... est valide. La clause FROM doit être suivie d'un ou plusieurs argument(s) de type ref_table permettant de désigner la ou les table(s) contenant les données à sélectionner. Vous pouvez passer comme argument soit un nom SQL standard soit une chaîne. Il n'est pas possible de passer d'expression de type requête à la place d'un nom de table. Note : Cette commande ne prend pas en charge les champs 4D de type Objet. Toutes les clauses suivantes sont facultatives. La clause WHERE définit des conditions que les valeurs doivent satisfaire pour être sélectionnées. Pour cela, passez un critère_recherche qui sera appliqué aux données récupérées par la clause FROM. L'expression critère_recherche retourne toujours une valeur de type booléen. La clause ORDER BY peut être utilisée afin d'indiquer que les données sélectionnées doivent être triées en fonction des valeurs de la liste_tri. Vous pouvez ajouter le mot-clé ASC ou DESC afin de définir si le tri doit être ascendant ou descendant. Par défaut, le tri est ascendant. La clause GROUP BY peut être utilisée afin de demander le regroupement des données identiques en fonction des valeurs de la liste_tri passée en argument. Vous pouvez passer des colonnes de groupes multiples. Cette clause permet généralement d'éviter les redondances ou de traiter une fonction d'agrégation (COUNT, SUM, MIN ou MAX) qui sera appliquée à ces groupes. Vous pouvez également ajouter le mot-clé ASC ou DESC comme avec la clause ORDER BY. La clause HAVING peut être utilisée afin d'appliquer un critère_recherche à l'un des groupes. La clause HAVING peut être utilisée sans la clause GROUP BY. La clause LIMIT permet de restreindre le nombre de données sélectionnées à la quantité définie par la variable ref_langage_4d ou le nombre_entier. La clause OFFSET permet de définir un nombre (variable ref_langage_4d ou nombre_entier) de valeurs à ignorer avant de débuter le décompte pour l'application de la clause LIMIT. La clause INTO permet de désigner des variables ref_langage_4d auxquelles les données sélectionnées seront affectées. Vous pouvez également passer le mot-clé LISTBOX afin de placer les données dans la list box désignée par le paramètre ref_langage_4d. Une instruction SELECT comportant la clause FOR UPDATE tentera de verrouiller en écriture tous les enregistrements sélectionnés. Si un enregistrement au moins ne peut pas être verrouillé, l'ensemble de la commande échouera et une erreur sera retournée. Dans le cas contraire, les enregistrements resteront verrouillés jusqu'à ce que la transaction courante soit validée ou annulée. Imaginons une base de données de films contenant une table qui, pour chaque film, stocke le titre, l'année de sortie et le nombre d'entrées vendues. C_LONGINT($AnneeFilm;$EntreesMin;$Depart;$Limite) Cet exemple utilise une combinaison de critères de recherches : SELECT id_fournisseurs Soit la table COMMERCIAUX où QUOTA est le montant des ventes prévu pour le commercial et VENTES le montant des ventes effectivement réalisé. ARRAY REAL(tValeurs_Min;0) Cet exemple sélectionne tous les acteurs nés dans une ville donnée : ARRAY TEXT(tNomsActeurs;0)
Voir aussi
critère_recherche
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Référence SQL ( 4D v16) |
||||||||||||