0Pricing
SQL Academy · Lezione

Nozioni di base sulle colonne array

Crei e legga valori array

Nozioni di base sulle colonne array è una lezione SQL Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SQL Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SQL Academy include 4 lezioni in totale.

Che cos'è una colonna array

PostgreSQL supporta le colonne array, che consentono a una singola cella di contenere più valori dello stesso tipo. Invece di memorizzare testo separato da virgole, si ottiene un elenco tipizzato che è possibile interrogare, indicizzare e manipolare con le funzioni integrate.

Gli array possono contenere numeri interi, testo, valori booleani, date o qualsiasi altro tipo PostgreSQL. La sintassi è simile a integer[] o text[].

Dichiarare una colonna array

Aggiunga [] dopo qualsiasi nome di tipo quando scrive un'istruzione CREATE TABLE per dichiarare una colonna array. La tabella seguente memorizza un elenco di tag per ogni articolo.

CREATE TABLE articles (
  id      serial PRIMARY KEY,
  title   text NOT NULL,
  tags    text[]
);

Inserire valori array

Utilizzi valori letterali con parentesi graffe racchiusi tra apici singoli per inserire dati array. Ogni elemento è separato da una virgola all'interno delle parentesi graffe: '{"sql","database"}'.

In alternativa, può utilizzare la sintassi del costruttore ARRAY[...] mostrata nella seconda riga.

INSERT INTO articles (title, tags) VALUES
  ('Intro to SQL',    '{"sql","beginner"}'),
  ('Advanced Joins',  ARRAY['sql','joins','performance']),
  ('NULL Handling',   '{"sql","nulls","tips"}');

Leggere l'intero array

La selezione di una colonna array funziona come la selezione di qualsiasi altra colonna. PostgreSQL restituisce l'intero array come un singolo valore nel set di risultati, visualizzato nel formato con parentesi graffe.

SELECT id, title, tags
FROM   articles;

Accedere a un singolo elemento

Gli indici degli array in PostgreSQL partono da 1 (il primo elemento si trova all'indice 1, non 0). Utilizzi le parentesi quadre dopo il nome della colonna per accedere a un elemento specifico.

SELECT title,
       tags[1] AS first_tag,
       tags[2] AS second_tag
FROM   articles;

Suddividere un array

Può estrarre un intervallo di elementi utilizzando la sintassi della porzione lower:upper all'interno delle parentesi quadre. Entrambi i limiti sono inclusivi.

SELECT title,
       tags[1:2] AS first_two_tags
FROM   articles;

Filtrare con ANY

Per trovare le righe in cui un array contiene un valore specifico, utilizzi l'espressione = ANY(column). Questa espressione restituisce le righe in cui almeno un elemento dell'array corrisponde al valore indicato.

SELECT id, title, tags
FROM   articles
WHERE  'joins' = ANY(tags);

Filtrare con l'operatore @>

L'operatore contiene @> verifica se l'array a sinistra contiene tutti gli elementi dell'array a destra. È utile quando desidera trovare le righe che includono un insieme di tag obbligatori.

SELECT id, title, tags
FROM   articles
WHERE  tags @> ARRAY['sql','tips'];

Ottenere la lunghezza dell'array

La funzione array_length(arr, dimension) restituisce il numero di elementi lungo una determinata dimensione. Per un array monodimensionale, utilizzi 1 come secondo argomento.

SELECT title,
       array_length(tags, 1) AS tag_count
FROM   articles
ORDER  BY tag_count DESC;

Aggiungere elementi

Utilizzi la funzione array_append(array, element) o l'operatore di concatenazione || per aggiungere un nuovo elemento alla fine di una colonna array esistente.

UPDATE articles
SET    tags = array_append(tags, 'featured')
WHERE  title = 'Intro to SQL';

SELECT title, tags FROM articles WHERE title = 'Intro to SQL';

Espandere un array in righe

La funzione unnest(array) espande un array in un insieme di righe: una riga per ogni elemento. È utile per le aggregazioni, i join o qualsiasi operazione che richieda di elaborare separatamente ogni elemento.

SELECT title, unnest(tags) AS tag
FROM   articles
ORDER  BY title, tag;

Verifica rapida

Verifichi la sua comprensione delle colonne array di PostgreSQL.

Riepilogo: nozioni di base sulle colonne array

In questa lezione ha imparato come funzionano le colonne array di PostgreSQL dall'inizio alla fine:

  • Dichiarare gli array con la sintassi type[] in CREATE TABLE
  • Inserire valori utilizzando valori letterali con parentesi graffe o ARRAY[...]
  • Accedere agli elementi tramite un indice che parte da 1 e alle porzioni con lower:upper
  • Filtrare con = ANY(col) per un singolo valore o con @> per un sottoinsieme
  • Misurare la lunghezza con array_length(col, 1)
  • Aggiungere elementi utilizzando array_append() o ||
  • Espandere gli array in righe con unnest()

Gli array sono una potente funzionalità di PostgreSQL che può semplificare gli schemi quando un elenco di valori appartiene a una singola entità.

Domande Frequenti

La lezione «Nozioni di base sulle colonne array» è gratuita?

Sì — il testo completo di «Nozioni di base sulle colonne array» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SQL Academy, passa a CoddyKit PRO. Il corso SQL Academy include 4 lezioni in totale.

Cosa imparerò in «Nozioni di base sulle colonne array»?

Crei e legga valori array Eserciti SQL Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare SQL Academy?

Non è richiesta alcuna esperienza precedente. SQL Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Nozioni di base sulle colonne array»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione SQL Academy?

Sì. Ogni lezione SQL Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Nozioni di base sulle colonne array
  2. Cercare all'interno degli array
  3. UNNEST e aggregazione
  4. Array e tabelle normalizzate a confronto
← Torna a SQL Academy