Pour élaborer complètement ce concept, ouvrez le shell de ligne de commande installé de PostgreSQL dans votre système. Fournissez le nom du serveur, le nom de la base de données, le numéro de port, le nom d'utilisateur et le mot de passe pour l'utilisateur particulier si vous ne souhaitez pas commencer à travailler avec les options par défaut. Si vous souhaitez travailler avec les paramètres par défaut, laissez chaque option vide et appuyez sur Entrer chaque option. Maintenant, votre shell de ligne de commande est prêt à travailler sur.
Exemple 01: Définissez les données de type de tableau
C'est une bonne idée d'étudier les fondamentaux avant de passer à la modification des valeurs du tableau dans la base de données. Voici le moyen de spécifier une liste de types de texte. Vous pouvez voir que la sortie a montré la liste des types de texte à l'aide de la clause SELECT.
>> SELECT 'aqsa, raza, saeed' :: text [];Le type de données doit être défini lors de l'écriture d'une requête. PostgreSQL ne reconnaîtra pas le type de données s'il semble être une chaîne. Alternativement, nous pouvons utiliser le format de tableau [] pour le spécifier comme type de chaîne, comme indiqué ci-dessous dans la requête. À partir de la sortie citée ci-dessous, vous pouvez voir que les données ont été récupérées comme type de tableau à l'aide de la requête sélectionnée.
>> sélectionnez Array ['AQSA', 'RAZA', 'SAEED'];
Lorsque vous sélectionnez les mêmes données de tableau avec la requête SELECT lors de l'utilisation de la clause, cela ne fonctionne pas comme il devrait. Par exemple, essayez la requête ci-dessous de la clause dans la coquille. Vous vérifierez qu'il proposera une erreur. En effet, la clause SELECT FROM.
>> sélectionnez * dans Array ['Aqsa', 'Raza', 'Saeed'];
Exemple 02: Convertir le tableau en lignes
Array [] est une fonction qui renvoie une valeur atomique. En conséquence, il ne correspond qu'à la clause de sélection et non de la clause car nos données ne figuraient pas dans le formulaire «Row». C'est pourquoi nous avons eu une erreur dans l'exemple ci-dessus. Voici comment utiliser la fonction la plus interne pour convertir les tableaux en lignes pendant que votre requête ne fonctionne pas avec la clause.
>> Sélectionnez UNNEST (Array ['Aqsa', 'Raza', 'Saeed']);
Exemple 03: Convertir les lignes en tableau
Pour convertir à nouveau les lignes en un tableau, nous devons définir cette requête particulière dans une requête pour le faire. Vous devez utiliser les deux requêtes sélectionnées ici. Une requête de sélection interne convertit un tableau en lignes en utilisant la fonction la plus intensive. Alors que la requête de sélection externe convertit à nouveau toutes ces lignes en un seul tableau, comme indiqué dans l'image citée ci-dessous. Attention; Vous devez utiliser des orthographes plus petites de «tableau» dans la requête de sélection externe.
>> Sélectionnez Array (SELECT UNNEST (Array ['Aqsa', 'Raza', 'Saeed']));
Exemple 04: supprimer les doublons à l'aide de la clause distincte
Distinct peut vous aider à extraire des doublons de toute forme de données. Cependant, cela nécessite nécessairement l'utilisation de lignes comme données. Cela signifie que cette méthode fonctionne pour les entiers, le texte, les flotteurs et d'autres types de données, mais les tableaux ne sont pas autorisés. Pour supprimer les doublons, vous devez d'abord convertir vos données de type de tableau en lignes en utilisant la méthode ininterrompue. Après cela, ces lignes de données converties seront transmises à la clause distincte. Vous pouvez avoir un aperçu de la sortie ci-dessous, que le tableau a été converti en lignes, puis seules les valeurs distinctes de ces lignes ont été récupérées en utilisant la clause distincte.
>> Sélectionner un peu distinct ('aqsa, raza, saeed, raza, uzma, aqsa' :: text []);
Si vous avez besoin d'un tableau comme sortie, utilisez la fonction Array () dans la première requête SELECT et utilisez la clause distincte dans la question de sélection suivante. Vous pouvez voir sur l'image affichée que la sortie a été affichée dans le formulaire de tableau, pas dans la ligne. Alors que la sortie ne contient que des valeurs distinctes.
>> Sélectionnez Array (sélectionnez UNNEST DISTING ('AQSA, RAZA, SAEED, RAZA, UZMA, AQSA' :: Text []));
Exemple 05: supprimer les doublons lors de l'utilisation de la clause Order By
Vous pouvez également supprimer les valeurs en double du tableau de type flotteur, comme indiqué ci-dessous. Avec la requête distincte, nous utiliserons la clause Order By pour obtenir le résultat dans l'ordre de tri d'une valeur spécifique. Essayez la requête inférieure à l'inscription dans le shell de ligne de commande pour le faire.
>> Sélectionnez distinct inné ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []) Ordre par 1;
Premièrement, le tableau a été converti en lignes en utilisant la fonction la plus intensive; Ensuite, ces lignes seront triées dans l'ordre croissant en utilisant la clause Order By comme indiqué ci-dessous.
Pour convertir à nouveau les lignes en un tableau, utilisez la même requête de sélection dans le shell tout en l'utilisant avec un petit tableau alphabétique (). Vous pouvez jeter un coup d'œil à la sortie ci-dessous que le tableau a d'abord été converti en lignes, puis seules les valeurs distinctes ont été choisies. Enfin, les lignes seront à nouveau converties en tableau.
>> Sélectionnez un tableau (sélectionnez distinct ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []));
Conclusion:
Enfin, vous avez réussi à implémenter chaque exemple de ce guide. Nous espérons que vous n'avez eu aucun problème lors de la réalisation de la méthode innest (), distincte et array () dans les exemples.