Postgresql Exemples ininterrompus

Postgresql Exemples ininterrompus
Vous pouvez spécifier une colonne de PostgreSQL comme juste un tableau de types de données appropriés. Les types de données intégrés, spécifiés par l'utilisateur et inaliénables sont toutes des possibilités. En dehors de cela, les tableaux sont très pertinents dans PostgreSQL. Vous avez appris concernant les tableaux dans PostgreSQL, y compris comment construire, interroger et parfois même générer des tableaux avec la méthode du tableau. Cependant, il y a des moments où je voudrais faire l'inverse et convertir un tableau postgresql en lignes. Il y a beaucoup de causes pourquoi vous aimeriez faire cela. Pendant un moment, disons que vous cherchez la jonction de deux tableaux. Dans PostgreSQL, l'opérateur d'intersect peut le faire efficacement pour deux ensembles différents de lignes. Cependant, il n'y a pas de homologue pour les tableaux. De même, l'opérateur syndical rejoint 2 paires de lignes; Cependant, il n'y a rien de comparable aux tableaux. La méthode la plus innombrable semble être le secret de tout cela. Tout en consommant inné, vous devez faire preuve de prudence car (comme avec la plupart des systèmes informatiques) PostgreSQL ferait tout ce que vous lui demandez de faire, pas exactement ce que vous voulez qu'il fasse.

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.