Esempi di PostgreSQL

Esempi di PostgreSQL
È possibile specificare una colonna in PostgreSQL come solo una serie di tipi appropriati di dati. I tipi di dati in-costruiti, specificati dall'utente e inalienabili sono tutte possibilità. A parte questo, gli array sono molto rilevanti in PostgreSQL. Hai imparato gli array in PostgreSQL, incluso come costruire, interrogare e talvolta anche generare array con il metodo dell'array. Tuttavia, ci sono momenti in cui vorrei fare il contrario e convertire un array PostgreSQL in righe. Ci sono molte cause perché vorresti farlo. Per un po ', diciamo che stai cercando l'incrocio di due array. In PostgreSQL, l'operatore di interseca può effettivamente farlo per due diversi set di righe. Tuttavia, non esiste una controparte per gli array. Allo stesso modo, l'operatore dell'Unione si unisce a 2 coppie di file; Tuttavia, non c'è nulla di comparabile per gli array. Il metodo più poco più poco sembra essere il segreto per tutto questo. Mentre consumi poco più, devi usare cautela poiché (come con la maggior parte dei sistemi informatici) Postgresql farebbe qualsiasi cosa tu lo istruisca, non esattamente quello che vuoi che faccia.

Per elaborare completamente questo concetto, apri la shell di comando installata di PostgreSQL nel sistema. Fornire il nome del server, il nome del database, il numero di porta, il nome utente e la password per l'utente particolare se non si desidera iniziare a lavorare con le opzioni predefinite. Se si desidera lavorare con i parametri predefiniti, lascia vuoto ogni opzione e premi Inserisci ogni opzione. Ora la tua shell della riga di comando è pronta a funzionare.

Esempio 01: Definire i dati del tipo di array

È una buona idea studiare i fondamenti prima di passare a modificare i valori dell'array nel database. Ecco il modo per specificare un elenco dei tipi di testo. È possibile visualizzare l'output mostrato l'elenco dei tipi di testo utilizzando la clausola selezionata.

>> seleziona 'aqsa, raza, saeed' :: text [];

Il tipo di dati deve essere definito durante la scrittura di una query. PostgreSQL non riconoscerà il tipo di dati se sembra essere una stringa. In alternativa, potremmo utilizzare il formato Array [] per specificarlo come tipo di stringa, come mostrato di seguito nella query. Dall'output citato di seguito, è possibile vedere che i dati sono stati recuperati come tipo di array utilizzando la query seleziona.

>> seleziona Array ['Aqsa', 'Raza', 'Saeed'];

Quando si selezionano gli stessi dati di array con la query seleziona durante l'utilizzo della clausola, non funziona come dovrebbe. Ad esempio, prova la query di seguito da From Clause nella shell. Controllerai che verrà visualizzato un errore. Questo perché la clausola selezionata presuppone che i dati che stanno recuperando siano probabilmente un gruppo di righe o alcuni punti da una tabella.

>> seleziona * da array ['aqsa', 'raza', 'saeed'];

Esempio 02: convertire l'array in righe

Array [] è una funzione che restituisce un valore atomico. Di conseguenza, si adatta solo a Select e non con dalla clausola poiché i nostri dati non erano nella forma "riga". Ecco perché abbiamo ricevuto un errore nell'esempio sopra. Ecco come utilizzare la funzione UNNEST per convertire gli array in righe mentre la domanda non funziona con la clausola.

>> Seleziona UnNest (Array ['Aqsa', 'Raza', 'Saeed']);

Esempio 03: convertire le righe in array

Per convertire di nuovo le righe in un array, dobbiamo definire quella particolare domanda all'interno di una domanda per farlo. Devi usare le due query selezionate qui. Una query di selezione interna sta convertendo un array in righe utilizzando la funzione poco più. Mentre la query selezionata esterna converte di nuovo tutte quelle righe in un singolo array, come mostrato nell'immagine citata di seguito. Attento; È necessario utilizzare l'ortografia più piccole di "array" nella query selezionata esterna.

>> Seleziona array (seleziona UnNest (array ['aqsa', 'raza', 'saeed']));

Esempio 04: rimuovere i duplicati usando una clausola distinta

Distinto può aiutarti a estrarre i duplicati da qualsiasi forma di dati. Tuttavia, richiede necessariamente l'uso delle righe come dati. Ciò significa che questo metodo funziona per numeri interi, testo, galleggianti e altri tipi di dati, ma gli array non sono consentiti. Per rimuovere i duplicati, è necessario prima convertire i dati del tipo di array in righe utilizzando il metodo Unorest. Successivamente, queste righe di dati convertite verranno passate alla clausola distinta. Puoi avere un'occhiata all'uscita di seguito, che l'array è stato convertito in righe, quindi solo i valori distinti da queste righe sono stati presi usando la clausola distinta.

>> Seleziona distinta Unnest ('Aqsa, Raza, Saeed, Raza, Uzma, Aqsa' :: text []);

Se hai bisogno di un array come output, utilizzare la funzione array () nella prima query seleziona e utilizzare la clausola distinta nella query seleziona successiva. Dall'immagine visualizzata puoi vedere che l'output è stato mostrato nel modulo dell'array, non nella riga. Mentre l'output contiene solo valori distinti.

>> Seleziona array (seleziona distinta Unnest ('aqsa, raza, saeed, raza, uzma, aqsa' :: text []));

Esempio 05: rimuovere i duplicati durante l'utilizzo dell'ordine per clausola

È inoltre possibile rimuovere i valori duplicati dall'array di tipo float, come mostrato di seguito. Insieme alla query distinta, useremo l'ordine per clausola per ottenere il risultato nell'ordine di ordinamento di un valore specifico. Prova la query sotto dichiarata nella shell della riga di comando per farlo.

>> Seleziona distinta UnNest ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []) ordine di 1;

Innanzitutto, l'array è stato convertito in file usando la funzione più poco più poco; Quindi, queste righe verranno ordinate in ordine crescente utilizzando l'ordine per clausola come mostrato di seguito.

Per convertire nuovamente le righe in un array, utilizzare la stessa query selezionata nella shell mentre le usi con una piccola funzione alfabetica (). Puoi dare un'occhiata all'uscita sottostante che l'array è stato convertito prima in righe, quindi sono stati scelti solo i valori distinti. Finalmente, le righe verranno di nuovo convertite in un array.

>> Seleziona Array (seleziona distinto UnNest ('2,85, 2.73, 2.85, 1.8, 2.73 ':: float []));

Conclusione:

Infine, hai implementato con successo ogni esempio da questa guida. Speriamo che tu non abbia alcun problema durante l'esecuzione di UnNest (), Distinto e Array () Metodo negli esempi.