Postgres Seleziona dove l'array è vuoto

Postgres Seleziona dove l'array è vuoto

Gli array sono strutture di dati molto note all'interno di molti linguaggi di programmazione orientati agli oggetti e memorizza i dati sotto forma di un gruppo/gruppo. Il database PostgreSQL ci consente inoltre di utilizzare array per archiviare i diversi tipi di dati. Ti permette anche di lasciare gli array vuoti e non dare errori. Sebbene il metodo di archiviazione o inserimento di dati in un array all'interno del database PostgreSQL sia abbastanza diverso, è abbastanza facile e comprensibile. Pertanto, all'interno di questa guida oggi, discuteremo di diversi modi per accedere ai dati dell'array. Ancora più importante, esamineremo i modi per selezionare solo i record dalla tabella in cui la posizione particolare dell'array è vuota attraverso gli indici. Vediamo come lo facciamo.

Iniziamo con l'avvio dell'applicazione del database PostgreSQL. Puoi farlo usando la barra di ricerca del tuo sistema operativo durante l'accesso. Scrivi "PSQL" e aprilo in un secondo. Lo schermo nero mostrato di seguito verrà aperto sul desktop e ti chiederà di aggiungere il nome locale, il nome del database, il numero di porta, il nome utente e la password. Se non hai nessun altro database e utente, segui il database e il nome utente predefiniti, i.e., Postgres. Abbiamo già creato un nuovo database e nome utente; andremo con loro, io.e., aqsayasin. La shell sarà quindi pronta per le istruzioni. Iniziamo ora con gli esempi.

Esempio 01:

Prima di fare qualsiasi cosa, abbiamo bisogno di una tabella per creare array all'interno delle sue colonne. È necessario creare una nuova tabella all'interno del database PostgreSQL utilizzando il comando Crea Tabella. Stiamo nominando questa tabella come "atest" con tre colonne ID, nome e stipendio. Il nome e la colonna salariale sono di tipo "array". Quindi, entrambe queste colonne memorizzeranno più di 1 valore e puoi accedervi dai loro indici. Dopo aver eseguito questa istruzione Crea tabella, la tabella è stata costruita e utilizzando le istruzioni selezionate, abbiamo visualizzato la tabella vuota.

Ora è stata creata la tabella vuota con colonne di tipo array. È ora di vedere come i dati possono essere inseriti nelle colonne dell'array usando il comando insert in. Stiamo aggiungendo un totale di 6 record in 3 colonne. La colonna "ID" verrà data in modo univoco a ciascun record, i.e., 1 a 6. Per aggiungere valori alla colonna "Array", inizia con le singole virgole invertite seguendo le staffe ricci e aggiungi i tuoi valori al suo interno, i.e., "''". Per i valori del tipo di stringa, utilizzare virgole invertite doppie per ciascun valore separato nell'array. Per i valori interi, non è necessario aggiungere virgole invertite tra parentesi ricci per valori. Alcuni dei record per le colonne "nome" e "stipendio" sono lasciati vuoti. I record sono stati inseriti con successo.

Durante l'esecuzione dell'istruzione "Seleziona" con "*" seguito dal nome di una tabella "ATEST", abbiamo ottenuto la tabella appena aggiornata "Atest" insieme a tutti i suoi record. Puoi vedere che 4, 5 record di colonna "nome" e 3, 4 record della colonna salariale sono vuoti.

Supponiamo che tu voglia vedere tutti quei record della tabella "atest" in cui la colonna "stipendio" di tipo array è vuota. Usando l'istruzione Seleziona con dove la clausola farà del suo meglio. Per controllare il vuoto dell'intera riga 1 della colonna di tipo array, usa “''“ all'interno della condizione. L'output di questa istruzione ci mostra che solo 2 record hanno un array vuoto nella colonna "stipendio".

Diamo un'occhiata a questo concetto ancora una volta. Questa volta, prenderemo i record in cui la colonna "nome" ha un array vuoto usando l'istruzione Seleziona mostrata. In cambio, mostra anche 2 record di colonne di array vuote, i.e., "Nome".

Supponiamo che vogliamo vedere tutti i record della tabella "atest" in cui la colonna "nome" e "stipendio" sono entrambi vuoti. Per questo, useremo l'istruzione seguente con la clausola dove 2 condizioni separate da e operatore. Questa domanda ci sta restituendo un singolo record come di seguito.

Diciamo che abbiamo riempito anche tutti i record vuoti della colonna "stipendio". Puoi vedere che la colonna "stipendio" non ha più array vuoti.

Usando l'istruzione Seleziona per recuperare tutti i record della tabella "Atest" in cui la colonna "stipendio" ha valori vuoti, abbiamo 0 record in cambio.

Esempio 02:

Diamo un'occhiata profonda all'uso degli array vuoti e a prendere le tabelle con tali condizioni ora. Crea una nuova tabella "marchio" con 4 colonne, i.e., ID, prodotto, marchio e prezzo. Due delle sue colonne sono array, i.e., "Marchio" del tipo di testo e prezzo del tipo "int". In questo momento, il nostro "marchio" del tavolo è completamente vuoto secondo l'istruzione selezionata.

Iniziamo a inserire alcuni record nella tabella del marchio. Utilizzare l'inserimento nel comando per aggiungere dati entro 4 delle sue colonne. Alcuni dei record per le colonne dell'array "marchio" e "prezzo" sono lasciati vuoti in righe diverse. I 5 record sono stati aggiunti con successo.

Ecco la tabella generale del "marchio" nel nostro database con i suoi record, i.e., ID, prodotto, marchio, prezzo.

Si desidera recuperare tutti i record di ID, colonna del prodotto e solo il primo valore dell'indice delle colonne "marchio" e "prezzo" di tipo array. Devi menzionare il numero dell'indice, menzionando il nome della colonna nell'istruzione seleziona come "marchio [1]" e "prezzo [1]". Questo prenderà solo il primo valore dell'indice dalla colonna "marchio" e "prezzo" ignorando tutti i successivi e quelli precedenti. L'output di seguito mostra un record di array a valore singolo per il marchio e il prezzo. Puoi anche vedere che il 3 ° e il 4 ° record della colonna del marchio non hanno valori al primo indice e il prezzo della colonna non ha valori alla seconda e 4a riga.

Ecco un altro modo per specificare la posizione dei valori per un array nella colonna PostgreSQL, i.e., colonna [startindex: lastindex]. Fetch Records per ID, prodotto, marchio e solo record di prima posizione per la colonna "Price" dalla tabella "Brand" in cui la colonna "Brand" ha un array vuoto. L'output mostra solo 2 record per la colonna "Brand" con un array vuoto. Il primo record per la colonna "prezzo" è stato visualizzato per entrambi i record.

Fino ad ora, stavamo prendendo i record in base a un array vuoto completo. Prendiamo i record in base al particolare indice vuoto di un array all'interno di una determinata colonna. Vogliamo recuperare tutti i record per ID, prodotto, solo 1 ° record per il marchio e il prezzo per il "marchio" della tabella con la condizione che il primo valore dell'indice all'interno della colonna array "prezzo" sia null, i.e., vuoto. Ciò significa che visualizzerà i record relativi per altre colonne solo quando l'indice di array delle colonne prezzi 1 è vuota. In cambio, abbiamo 2 record sulla nostra schermata Shell.

Conclusione:

Questo articolo dimostra gli array vuoti per i valori della colonna nel database e recupera i record della tabella secondo tali array. È costituito da un metodo di base per inizializzare le colonne del tipo di array con valori di array e recuperare le colonne correlate in base ai valori di colonna "tipo array" vuoti. Abbiamo discusso usando indici, parentesi ricci e la parola chiave "è nulla" per raggiungere questo obiettivo. Tutte le query sono utilizzabili per qualsiasi altra piattaforma di database.